scala-2

来源:互联网 发布:淘宝客网站建站 编辑:程序博客网 时间:2024/06/15 10:08
如果要匹配构造函数,则需要显示定义其伴生对象,并在该对象汇总实现unapply方法;
for循环中的匹配,则可以部分匹配,全部匹配,没有匹配的部分需要指定;
隐式转换使用implicit 关键字,implicit def xxx(X:Float)=x.toInt)
scala默认的隐式转换是默认定义了toString,toInt,toDouble等方法,而且当需要隐式转换时,隐式转换函数名可以是任意的,只要函数签名(输入参数类型和返回值类型)匹配就行;
定义隐式类时主构造函数的变量只能有一个,隐式对象,在对象前加implicit关键字

T:M:K //意味着在作用与中必须存在M[T],K[T]类型的隐式值
T<%M<%K//意味着在作用域中必须存在T到M,T到K的隐式转换;
K>:T:<M//意味着M是T的超类,K也是T类型的超类;
在声明的泛型前加+则指定其为协变的,可以进行类似于List[String]是List[Any]的子类;
 加-则为逆变;       
 类型投影:使用外部类#内部类,来接收所有类型的内部类;
类型别名:使用type xx=xxss;来定义;

原创粉丝点击