Java:字符串:等于签名大小写与将所有内容切换为大写/小写
2022-09-01 15:01:21
我注意到有几种方法可以比较Java中的字符串。
很久以前,我刚刚养成了使用习惯,以避免在区分大小写的字符串时遇到问题。equalsIgnoreCase
另一方面,其他人更喜欢以大写或小写形式传递所有内容。
从我站立的地方(即使从技术上讲我坐着),我看不到真正的区别。
有谁知道一种做法是否比另一种更好?如果是这样,为什么?
我注意到有几种方法可以比较Java中的字符串。
很久以前,我刚刚养成了使用习惯,以避免在区分大小写的字符串时遇到问题。equalsIgnoreCase
另一方面,其他人更喜欢以大写或小写形式传递所有内容。
从我站立的地方(即使从技术上讲我坐着),我看不到真正的区别。
有谁知道一种做法是否比另一种更好?如果是这样,为什么?
之所以使用,是因为它比在比较之前将两个字符串都转换为大写更具可读性。可读性胜过微优化。equalsIgnoreCase
什么更具可读性?
if (myString.toUpperCase().equals(myOtherString.toUpperCase())) {
或
if (myString.equalsIgnoreCase(myOtherString)) {
我想我们都同意,这更具可读性。equalsIgnoreCase
equalsIgnoreCase避免了有关特定于区域设置的差异的问题(例如,在土耳其语区域设置中,有两个不同的大写“i”字母)。另一方面,Maps 仅使用 equals() 方法。