String类
1.实例化方式:
a. 直接赋值
b. String sr=new String("new string");
2.比较
a. ==比较的是地址空间是否相等,即是否指向同一内存地址;应当用equals()来比较字符串的值
b. 一个字符串就是一个String匿名对象;相同的字符串(匿名String类),在内存中有同一个空间。注意下列情况:
String sr="new";
String st=new String("new");以上两句虽然是相同的内容,但是内存地址并不一样。若用==比较,返回false
3.不可变性
a. 字符串的内容是不可改变的,如当对当前String类进行赋值,实际是又改变了当前String类的内存指向,而并不是将原有的String类进行了修改;
b. 应避免在循环中改变String类,若有需要可使用StringBuffer。
4.常用函数
String substring(int beginIndex)
String substring(int start,int end)
equals(String s1)
int compareTo(String other) //在other之前返回负数
boolean startsWith(String prefix)
boolean endsWith(String suffix)
boolean equalsIgnoreCase(String other) //忽略大小写比较
int indexOf(String str)
int indexOf(String str, int fromIndex)
String replace(CharSequence oldString, CharSequence new String) //CharSequence -> String or StrinBuffer
String trim()