String.indexOf()的四种方法「终于解决」

String.indexOf()的四种方法「终于解决」String.indexOf()的四种方法String.indexOf(Stringstr)官方解释:返回此字符串中第一次出现指定子字符串的索引。返回的索引是最小值k,其中:this.startsWith(str,k)如果不存在这样的k值,则返回-1。参数:str–要搜索的子字符串。返回:指定子字符串第一次出现的索引,如果没有这样的出现,则为-1。publicintindexOf(Stringstr){returnindexOf(str,0);

大家好,欢迎来到IT知识分享网。

String.indexOf()的四种方法
String.indexOf(String str)

官方解释 :

返回此字符串中第一次出现指定子字符串的索引。返回的索引是最小值k ,其中: this.startsWith(str, k)如果不存在这样的k值,则返回-1 。
参数:
str – 要搜索的子字符串。
返回:
指定子字符串第一次出现的索引,如果没有这样的出现,则为-1 。

 public int indexOf(String str) { 
    
     return indexOf(str, 0);
 }
 public static void main(String[] args) { 
    
     String  str="abcdefg";
     System.out.println("String.indexOf(String s):"+str.indexOf("b"));
 }
}

在这里插入图片描述

String.indexOf(String str ,int from index)

官方解释:

返回此字符串中第一次出现指定子字符串的索引,从指定索引开始。
返回的索引是最小值k ,其中:k >= fromIndex && this.startsWith(str, k)
如果不存在这样的k值,则返回-1 。
参数:
str – 要搜索的子字符串。
fromIndex – 开始搜索的索引。
返回:
指定子字符串第一次出现的索引,从指定索引开始,如果没有这样的出现,则为-1

public int indexOf(String str, int fromIndex) { 
    
 return indexOf(value, 0, value.length,
   str.value, 0, str.value.length, fromIndex);
 }
 public static void main(String[] args) { 
    
     String  str="abcdefgabcaaabc";
     // System.out.println("String.indexOf(String s):"+str.indexOf("b"));
     System.out.println("String.indexOf(String str ,int fromIndex):"+str.indexOf("abc",1));
 }
}

在这里插入图片描述

String.indexOf(int ch)

官方解释:

返回此字符串中第一次出现指定字符的索引。 如果值ch的字符出现在此String对象表示的字符序列中,则返回第一次出现的索引(以 Unicode 代码单元表示)。 对于 0 到 0xFFFF(含)范围内的ch值,这是满足以下条件的最小值k :this.charAt(k) == ch是真的。 对于ch其他值,它是满足以下条件的最小值k :this.codePointAt(k) == ch是真的。 在任一情况下,如果此字符串中没有出现此类字符,则返回-1 。
参数:
ch – 一个字符(Unicode 代码点)。
返回:
此对象表示的字符序列中该字符第一次出现的索引,如果该字符没有出现,则为-1 。

public int indexOf(int ch) { 
    
 return indexOf(ch, 0);
}
public static void main(String[] args) { 
    
 String  str="abcdefgabcaaabc";
 // System.out.println("String.indexOf(String s):"+str.indexOf("b"));
 // System.out.println("String.indexOf(String str ,int fromIndex):"+str.indexOf("abc ",1));
 System.out.println("String.indexOf(int ch):"+str.indexOf('b'));
}

在这里插入图片描述

String.indexOf(int ch,int fromIndex)

官方解释:

返回此字符串中第一次出现指定字符的索引,从指定索引开始搜索。
如果值ch的字符出现在此String对象表示的字符序列中,索引不小于fromIndex ,则返回第一个此类出现的索引。 对于 0 到 0xFFFF(含)范围内的ch值,这是满足以下条件的最小值k : (this.charAt(k) == ch) && (k >= fromIndex)是真的。 对于ch其他值,它是满足以下条件的最小值k : (this.codePointAt(k) == ch) && (k >= fromIndex)是真的。 在任何一种情况下,如果此字符串中的fromIndex位置或之后没有出现此类字符,则返回-1 。
fromIndex的值没有限制。 如果它是负数,它与它为零的效果相同:可以搜索整个字符串。 如果它大于此字符串的长度,则其效果与等于此字符串的长度相同:返回-1 。
所有索引均以char值(Unicode 代码单元)指定。
参数:
ch – 一个字符(Unicode 代码点)。
fromIndex – 开始搜索的索引。
返回:
此对象表示的字符序列中该字符第一次出现的索引,该索引大于或等于fromIndex ,如果该字符没有出现,则为-1 。

public int indexOf(int ch, int fromIndex) { 
    
 final int max = value.length;
 if (fromIndex < 0) { 
    
     fromIndex = 0;
 } else if (fromIndex >= max) { 
    
     // Note: fromIndex might be near -1>>>1.
     return -1;
 }
public static void main(String[] args) { 
    
 String  str="abcdefgabcaaabc";
 // System.out.println("String.indexOf(String s):"+str.indexOf("b"));
 // System.out.println("String.indexOf(String str ,int fromIndex):"+str.indexOf("abc ",1));
 // System.out.println("String.indexOf(int ch):"+str.indexOf('b'));
 System.out.println("String.indexOf(int ch ,int fromIndex): "+str.indexOf('a', 3));
}

在这里插入图片描述

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/26225.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信