Jas*_*ers 25 java string string-comparison
我注意到有几种方法可以比较Java中的字符串.
我很久以前习惯使用equalsIgnoreCase以避免出现区分大小写的字符串问题.
另一方面,其他人喜欢以大写或小写的方式传递所有内容.
从我的立场(即使技术上我坐着),我看不出真正的区别.
有人知道一种做法是否优于另一种做法?如果是这样,为什么?
Asa*_*aph 50
使用equalsIgnoreCase是因为它比在比较之前将两个字符串转换为大写更具可读性.可读性胜过微优化.
什么更具可读性?
if (myString.toUpperCase().equals(myOtherString.toUpperCase())) {
Run Code Online (Sandbox Code Playgroud)
要么
if (myString.equalsIgnoreCase(myOtherString)) {
Run Code Online (Sandbox Code Playgroud)
我想我们都同意equalsIgnoreCase更具可读性.
kol*_*aTM 10
equalsIgnoreCase避免了有关Locale特定差异的问题(例如,在Turkish Locale中有两个不同的大写"i"字母).另一方面,Maps仅使用equals()方法.