String 使用'==';而不是用于Scala中字符串比较的equals

String 使用'==';而不是用于Scala中字符串比较的equals,string,scala,equals,String,Scala,Equals,为什么建议在Scala中使用=而不是.equals进行字符串比较?StackOverflow中有很多问题不建议在Java中使用引用相等来进行字符串比较,但为什么建议在Scala中使用完全相反的方法呢?在Scala中,==与相等,只是它处理null,因此不会引发NullPointerException 如果希望引用相等,请使用eqScala不是Java,即使它是由JVM托管的。更具体地说,Scala中安全的东西在Java中并不安全。Scala旨在消除Java中许多不合逻辑的烦恼。其中一个是=vs.

为什么建议在Scala中使用
=
而不是
.equals
进行字符串比较?StackOverflow中有很多问题不建议在Java中使用引用相等来进行字符串比较,但为什么建议在Scala中使用完全相反的方法呢?

在Scala中,
==
相等
,只是它处理
null
,因此不会引发
NullPointerException


如果希望引用相等,请使用
eq

Scala不是Java,即使它是由JVM托管的。更具体地说,Scala中安全的东西在Java中并不安全。Scala旨在消除Java中许多不合逻辑的烦恼。其中一个是
=
vs
.equals
,对于新手来说,什么时候使用它并不明显,所以他们决定你什么都用
=
,从可用性的角度来看,这更有意义。你从哪里得到了
==
是引用相等的想法?这个问题是针对一种完全不同的编程语言的,它与
=
equals
之间还有其他细微的区别,例如,
=
知道数字等价:
1==1L
但是
!1.等于(1L)
。一般来说,
==
是合理的运算符,除非有明确的理由不这样做。这是真的<代码>=在Scala中是首选。