gpt4 book ai didi

Java String 忽略大小写实现

转载 作者:行者123 更新时间:2023-12-01 11:13:44 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Understanding logic in CaseInsensitiveComparator

(5 个回答)



String.equalsIgnoreCase - UpperCase v. LowerCase

(1 个回答)


去年关闭。




我正在阅读 java.lang.String equals ignore case implementation 并试图弄清楚为什么在已经比较大写之后还有小写比较?是否有语言在这方面很重要,大写可能不匹配但小写可能匹配?

// Code from java.lang.String class 
public boolean regionMatches(boolean paramBoolean, int paramInt1, String paramString, int paramInt2, int paramInt3) {
char[] arrayOfChar1 = this.value;
int i = paramInt1;
char[] arrayOfChar2 = paramString.value;
int j = paramInt2;
if (paramInt2 < 0 || paramInt1 < 0 || paramInt1 > this.value.length - paramInt3 || paramInt2 > paramString.value.length - paramInt3)
return false;
while (paramInt3-- > 0) {
char c1 = arrayOfChar1[i++];
char c2 = arrayOfChar2[j++];
if (c1 == c2)
continue;
if (paramBoolean) {
char c3 = Character.toUpperCase(c1);
char c4 = Character.toUpperCase(c2);
// Why is java comparing to Lower case here
if (c3 == c4 || Character.toLowerCase(c3) == Character.toLowerCase(c4))
continue;
}
return false;
}
return true;
}

最佳答案

有些字符只存在小写,有些只存在大写。例如,在德国,我们有小写的字符“ß”。它没有大写版本。

我认为在其他语言中,同样的事情可能会以相反的方向发生。

关于Java String 忽略大小写实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60196641/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com