9.5 方法indexOf

方法 indexOf 用于在字符串中查找字符。

  1. String fruit = "banana";
  2. int index = fruit.indexOf('a');

这个示例确定了字符 'a' 在字符串中的索引,但因为这个字符出现了三次,所以 indexOf 的结果是什么并不那么明显。文档指出,这个方法返回的是字符第一次出现处的索引。

要想确定后面位置出现的索引,可使用另一个版本的 indexOf,它接受第二个实参,指定从字符串的什么位置开始查找。

  1. int index = fruit.indexOf('a', 2);

这些代码从索引 2(第一个 'n')处开始查找下一个 'a',这个 'a' 的索引为 3。如果要查找的字符刚好在起始索引处,结果将为起始索引,因此 fruit.indexOf('a', 5) 返回 5

如果字符串中没有指定的字符,indexOf 将返回 -1。因为索引不可能为负,所以这个值表明没有找到指定的字符。

还可用 indexOf 查找子串,而不仅仅是单个字符。例如,表达式 fruit.indexOf("nan") 返回 2