Scala-运算符
运算符
== 判断内容是否相同
但与equals不同 多了一个非空判断
eq则是判断内存地址
简言之,equals方法是检查值是否相等,而eq方法检查的是引用是否相等。所以如果比较的对象是null那么==调用的是eq,不是null的情况调用的是equals。
// scala语法中双等号就是比较对象的内容,但是和equals不一样。是非空equals操作
println( s1 == s2 )
println( s1.equals(s2) )
println( s1.eq(s2) ) // eq方法在编译后就是java中的双等号
赋值: 等号右边的计算结果给左边
运算符本质
在Scala中其实是没有运算符的,所有运算符都是方法。
- scala是完全面向对象的语言,所以数字其实也是对象
- 当调用对象的方法时,点.可以省略
- 如果函数参数只有一个,或者没有参数,()可以省略
val i : Int = 10
val j : Int = i.+(10)
val k : Int = j +(20)
val m : Int = k + 30
println(m)