Scala中的运算符
Scala和Java中的运算符用法基本一致。
一、区别
1、“==”和“equals”的用法
Java:
String str1 = "abc"; String str2 = new String("abc"); System.out.println(str1 == str2); System.out.println(str1.equals(str2)); 输出: false true
Scala:
object OperatorTest { def main(args: Array[String]): Unit = { val str1 = "abc" val str2 = new String("abc")
//类似于Java中的equals println(str1 == str2) println(str1.equals(str2))
//类似于Java中的“==” println(str1.eq(str2)) } } 输出: true true false
2、Scala中没有++、--操作符,可以通过+=、-=来实现同样的效果;
二、Scala运算符的本质
在Scala中其实没有运算符,所有运算符都是方法。
- 当调用方法时,可以省略 "." 。
- 如果方法的参数只有一个或没有时,可以省略()。
def main(args: Array[String]): Unit = { //标准的加法运算 var i:Int = 1 .+(1) //调用+方法省略点 var j:Int = 1 + (1) //当调用的方法没有参数或只有一个参数时可以省略() var k:Int = 1 + 1 }