从char数组获取char的索引

时间:2018-06-05 08:33:46

标签: java arrays char indexof

您好我需要从char数组中获取char的索引(不使用String)。是的,我知道在有String时这样做是不合理的,但我需要知道如何做到这一点。所以,如果你能表现出理解,我将不胜感激。

我的char数组成立:

" ABCDEF"

(开头有空格)。

当我尝试这个时:(我已经导入了java.util.Arrays;)

Arrays.toString(charArr).indexOf(charNeeded);

它返回16因为:

System.out.println(Arrays.toString(charArr));

打印[,A,B,C,D,E,F],表示正在返回的字符串(正在搜索的索引)就是那个。我需要在“ABCDEF”上搜索索引,任何人都可以帮忙吗?

提前致谢。

1 个答案:

答案 0 :(得分:3)

如果您无法将其转换为字符串并使用indexOf

int found = new String(charArr).indexOf(charNeeded)

然后你需要使用一个循环:

int found = -1;
for (int i = 0; i < charArr.length; ++i) {
  if (charArr[i] == charNeeded) {
    found = i;
    break;
  }
}

或者,如果您想使用非常过分的解决方案,请使用流:

int found =
    IntStream.range(0, charArr.length)
        .filter(i -> charArr[i] == charNeeded)
        .findFirst()
        .orElse(-1);