String 使用'==';而不是用于Scala中字符串比较的equals
为什么建议在Scala中使用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.
=
而不是.equals
进行字符串比较?StackOverflow中有很多问题不建议在Java中使用引用相等来进行字符串比较,但为什么建议在Scala中使用完全相反的方法呢?在Scala中,==
与相等
,只是它处理null
,因此不会引发NullPointerException
如果希望引用相等,请使用
eq
Scala不是Java,即使它是由JVM托管的。更具体地说,Scala中安全的东西在Java中并不安全。Scala旨在消除Java中许多不合逻辑的烦恼。其中一个是=
vs.equals
,对于新手来说,什么时候使用它并不明显,所以他们决定你什么都用=
,从可用性的角度来看,这更有意义。你从哪里得到了==
是引用相等的想法?这个问题是针对一种完全不同的编程语言的,它与=
和equals
之间还有其他细微的区别,例如,=
知道数字等价:1==1L
但是!1.等于(1L)
。一般来说,==
是合理的运算符,除非有明确的理由不这样做。这是真的<代码>=在Scala中是首选。