java - 使用 indexOf 时类似于 equalsIgnoreCase

标签 java arrays string

我正在使用这段代码来获取数组中字符串的索引。

int n = Arrays.asList(Names).indexOf(textBox.getText());

这里的问题是,如果textBox 中的字符串在case 中与其在数组中的相似字符串不同。它返回 -1。在字符串比较的情况下,如何使其类似于 equalsIgnoreCase

谢谢

最佳答案

您可以使用 Collat​​or 类。在这里你可以为你的比较设置不同的级别。 您可以忽略大小写,并设置一些特定的语言字符。例如在德语中,它可以设置 ß 等于 ss。

这是一些纪录片: Collator class

编辑:这是给你的示例代码

private int indexOf(String[] original, String search) {
    Collator collator = Collator.getInstance(); 
    collator.setStrength(Collator.SECONDARY);
    for(int i = 0;i<original.length;++i) {
        if(collator.equals(search, original[i]))
            return i;
    }
    return -1;
}

关于java - 使用 indexOf 时类似于 equalsIgnoreCase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13817413/

相关文章:

ios - 如何在单个 UILabel 文本上获取两个普通字符串和 NSMutableString?

java - 比较 2 个 JSONArray

java - 将用户输入的字符拆分为 ArrayList

java - 谷歌日历API删除 future 事件

arrays - 在多维数组中删除后不能有普通数组

javascript - 数组反转函数JS

java - (Java) 错误 : constructor MinimaxThread in class MinimaxThread cannot be applied to given types

python - 如何在 Python 中填充二维数组?

c++ - 在 C++ 中拆分点上的字符串并从中提取所有字段?

C#解析字符串拆分