在java中如何比较字符串,使用==还是equals
== 测试引用是否相等(它们是否是同一对象)。
.equals() 测试值是否相等(在逻辑上是否为“相等”)。
String.contentEquals() 将的内容String与任何内容进行比较CharSequence(从Java 1.5开始可用)。
因此,如果要测试两个字符串是否具有相同的值,则可能要使用Objects.equals()。
// 值相等 new String("test").equals("test") // --> true // 不是同一个对象 new String("test") == "test" // --> false // 不是同一个对象 new String("test") == new String("test") // --> false // 同一个对象 "test" == "test" // --> true // 同一个对象 "test" == "te" + "st" // --> true // Objects.equals()比较内容 Objects.equals("test", new String("test")) // --> true Objects.equals(null, "test") // --> false Objects.equals(null, null) // --> true
我们使用Objects.equals()的时候多,很少使用==。