java - 从 char 数组获取 char 的索引

标签 java arrays char indexof

你好,我需要从一个字符数组中获取一个字符的索引(不使用字符串)。是的,我知道在有 String 的情况下这样做是不合理的,但我需要知道如何去做。所以,如果您能表示理解,我将不胜感激。

我的字符数组包含:

" ABCDEF"

(开头有一个空格)

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

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

它返回 16 因为:

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

Prints [ , A, B, C, D, E, F],这意味着正在返回的字符串(正在搜索的索引)就是那个。我需要在“ABCDEF”上搜索索引,有人可以帮忙吗?

提前致谢。

最佳答案

如果不能将其转换为字符串并使用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);

关于java - 从 char 数组获取 char 的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50695659/

相关文章:

java - if 语句产生乱码输出

c++ - 与教科书上关于unsized array initialization C++的句子混淆

java - 如何将包含字符转义序列的字符串转换为 char?

java - Stardog 数据加载和 Jena

java - 为分布式系统中的每个请求生成唯一 ID

java - JScrollPane 中的 JPanel 位置

python - 如何将数组元组转换为字典?

c - 在 C 中删除字符串的特定部分

C 使用函数将字符串值分配给结构中的字符串元素

java - 通过Spring rest模板下载大文件