几个月前,我记得在一次面试中被问到Java中比较字符串的三种不同方法。出于好奇心,我想在这里询问一下作为自己的参考。我想到了两种方法:
编辑:稍微修改了问题。
str1.equals(str2)
或者使用compareTo
,两者总共算一种方法- 逐个比较字符
编辑:稍微修改了问题。
.equals()
被认为与compareTo()
相同? - lights1.contains(s2) && s2.contains(s1)
或s1.matches(s2) && s2.matches(s1)
或s1.replace(s2, "").isEmpty() && s2.replace(s1, "").isEmpty()
等等。 - Nir AlfasiString.valueOf(str1) == String.valueOf(str2)
并不是一种准确比较字符串的方式。它会出现与str1 == str2
相同的问题。 - sstan==
应该返回true,如果它们具有相同的值。他说这种方法不会像str1 == str2
那样遇到相同的问题。但是,我再次强调,解决方案不是str1 == str2
。 - HikeTakerByRequest