·String类与StringBuffer类位于java.lang包中,可以在程序中直接使用,不需要import。
·String类中的内容一旦被初始化就不能再改变。
·String类可用于字符串比较、查找及提取字符串中的字串或字符,实现字符串与其他类型间的相互转换等操作。
·StringBuffer类用于封装内容可以改变的字符串,可以将其他各种类型的数据增加到字符串中,也可以改变字符串中字符顺序。
·通过StringBuffer生成了最终想要的字符串,应该使用StringBuffer的toString()方法将其转化为String类型,这样就可以使用String类的各种方法来操作字符串了。
String x ="a"+4+"c"; 编译时等效于 String x = new StringBuffer().append("a").append(4).append("c").toString();
·字符串常量(如"hello")其实是一种特殊的匿名String对象。每次使用字符串常量时如果内存中已经存在具有相同内容的匿名String对象,java就不再创建新的匿名String对象,而是让所有内容相同的字符串常量共享同一个匿名String对象,使多个引用变量指向同一个对象,以节省内存空间。
String s1="hello"; String s2="hello"; ==>s1==s2.
String s1=new String("hello"); String s2=new String("hello"); ==>s1!=s2.
·String类的常用成员方法:
String(byte[] bytes,int offset,int length)---->构造方法
equalsIgnoreCase()---->与equals方法类似,但是忽略大小写。
indexOf(int ch)---->查找字符ch首次出现的位置,若找不到则返回-1。
indexOf(int ch,int fromIndex)---->从fromIndex的位置开始查找ch所在的位置。
substring(int beginIndex)---->返回beginIndex至字符串结尾之间的所有字符组成的新字符串,若beginIndex大于字符串长度,则返回空字符串。beginIndex为字符数组下标。
substring(int beginIndex, int endIndex)----> 返回beginIndex至endIndex-1之间的所有字符组成的新字符串,若endIndex大于字符串长度,则抛出IndexOutOfBoundsException。
Test Code: