比较字符串时等于或contentEquals

Mic*_*ael 2 java string equals

我看到这contentEquals对于比较char序列很有用,但是我找不到任何地方指定比较两个字符串时最适合使用的方法。

这里提到了这两种方法之间的区别,但是没有明确说明如何处理两个字符串。

我可以看到usng的一个优点contentEquals是,如果传入的变量的类型发生了更改,则将引发编译错误。缺点可能是执行速度快。

contentEquals在比较字符串时我应该总是使用还是仅在有不同对象扩展时才使用它CharSequence

Sim*_*ant 7

String#equals比较两个字符串的内容时应使用。仅contentEquals在其中一个对象不是字符串类型时使用。

1)它不那么混乱。每个Java开发人员都应该知道该方法在做什么,但是它contentEquals是一种更专业的方法,因此鲜为人知。

2)它更快,如您在检查序列是否为类型后在contentEquals调用中所看到的那样,这样可以节省该检查的执行时间。但是,即使执行速度较慢,这也不应该是您做出决定的第一步。首先要提高可读性。equalsAbstractStringBuilder