【问题标题】:Getting Index of a char from a char array从 char 数组中获取 char 的索引
【发布时间】:2018-11-14 16:17:49
【问题描述】:

您好,我需要从 char 数组中获取 char 的索引(不使用字符串)。是的,我知道在有 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”上的索引,有人可以帮忙吗?

提前致谢。

【问题讨论】:

  • 而不是使用Arrays.toString(charArr).indexOf(charNeeded); 使用new String(charArr).indexOf(charNeeded);

标签: java arrays char indexof


【解决方案1】:

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

【讨论】:

  • 感谢您的理解和亲切的回答,我认为这会起作用。
猜你喜欢
  • 2011-12-14
  • 1970-01-01
  • 2023-04-07
  • 1970-01-01
  • 2011-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-14
相关资源
最近更新 更多