JAVA字符串如何像数组一样取字符?

最近总是把字符串的操作混淆,以为一个字符串直接像数组一样操作就可以得到其中的字符。

Sring s1 = "abcde";

那么 s1[0] = 'a'   ?    这是错误的。

String类内部的value是一个字符数组

private final char value[]; 

可以看到是private的,而String类没有提供直接访问与操作这个数组的方法

应该用  char ch1 = s1.charAt(0);

这样才有  ch1 = 'a';

 

另外 要知道一个字符是否存在于某字符串中,只要用indexOf()就可以。

int indexOf(a):返回的是ch在字符串中第一次出现的位置。

int indexOf(int ch,int fromIndex):从fromIndex指定位置开始,获取ch在字符串中出现的位置。

String s1 = "abcde";

s1.indexOf('a')          //  结果 = 0  返回a在字符串中的位置

s1.indexOf("bc")     //结果=1  返回字符串bc在父字符串中的位置 

s1.indexOf('f')  // 结果= -1 如果不存在 返回-1

charAt(int index): 取指定索引位置上的字符

你可能感兴趣的:(学习笔记)