indexOf方法要求多次出现的char?

时间:2016-05-01 21:07:21

标签: java string indexof

 String str = "Aardvark";
 str.indexOf('a'); 

我想知道如果索引str要求某个字符并且字符串包含多个字符串会返回什么索引。例如,aardvark:方法会返回索引0,第一次看到char吗?这个词中有3个'a'字符,它会返回吗?

另外一个问题(原始问题无法解决) 有什么区别

 str.indexOf('a');

 str.indexOf("a");

我知道第一个是char,第二个是String,但是如果str =“Aardvark”,第二个语句不会返回-1或某种错误,因为“a”指的是单个字符字符串,而不是字符串的一个字符串?

如果不清楚我很抱歉,我真的想不出更好的方式提出我的问题。提前谢谢!

4 个答案:

答案 0 :(得分:1)

  1. indexOf()将返回第一次出现的字符串/ char
  2. 的索引
  3. 就像你说的那样,在子字符串中查找char和另一个。 ""将被发现,因为" a"是" Aardvark"
  4. 的子字符串

答案 1 :(得分:1)

它会打印第一次出现..

让你第二次出现 将不得不 填写

this

indexOf也可以使用这两个参数而不仅仅是char。

链接到API Doc:

https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#indexOf(java.lang.String,%20int)

答案 2 :(得分:1)

这是一个简单的例子:

String text = "abcd_a";

    System.out.println("Index of a: "+ text.indexOf('a'));  // Index of a: 0
    System.out.println("Index of a: "+ text.indexOf("a"));  // Index of a: 0
    System.out.println("Index of b: "+ text.indexOf('b'));  // Index of b: 1
    System.out.println("Index of c: "+ text.indexOf('c'));  // Index of c: 2
    System.out.println("Index of z: "+ text.indexOf('z'));  // Index of z: -1

答案 3 :(得分:1)

的简单索引: indexOf(char / string)将始终返回事件的第一个索引。

来自索引的

: 还有indexOf(char / string,int fromIndex) - 它将从字符串中的给定位置进行搜索。

最后一个索引 : 有一个lastIndexOf(char / string) - 它将搜索最后一次出现。

关于char vs String,如果我只需要一个char索引查找,我会使用char。 char将比String index-lookup-methods !!!

快得多

Java String Spec