Scala 字符串比较—"=="和"equals"用法
Scala 的 ==
- 在 Scala 中,
==是一个方法调用,实际上等价于调用equals方法。 - 不仅适用于字符串,还可以用于任何类型,并且自动处理
null。
Demo:

Java 的 ==
- 在 Java 中,
==比较的是两个对象的引用,而不是值。 - 如果要比较字符串的值相等,必须使用
.equals方法。
Demo:

Scala 的 .equals
- 与 Java 的
.equals一样,用于比较两个对象的值。 - 如果一个对象是
null,直接调用.equals会抛出NullPointerException,所以在 Scala 中通常更推荐使用==。
Demo:

Tips:🤣🤣🤣
- 在 Scala 中,优先使用
==,更安全并且语义清晰。 - 需要严格控制引用比较时,可以使用
eq(检查两个对象是否是同一个引用)。

| 功能 | Java == | Java .equals | Scala == | Scala .equals |
|---|---|---|---|---|
| 比较内容 | 比较引用 | 比较值 | 比较值 | 比较值 |
| 处理 null | 不支持,可能抛异常 | 不支持,抛异常 | 支持 | 不支持,抛异常 |
| 推荐用法 | 比较引用 | 比较字符串值 | 推荐 | 可用但小心 null |


![[蓝桥杯 2019 国 B] 排列数](https://i-blog.csdnimg.cn/direct/11ab2e51ae20400ca74dcddf1be557a5.png)
















