1、String 字符串
String 字符串 = char[] + 操作
char[] 只是数据 没有操作
字符串“字面量(直接量)”都是String类型的实例
2、String API 有一个实现原则:对象内容永远不变 也就是说String对象永远不变 因为String 是final 修饰的类
String的源代码
public final class String{
public String(){
this.value = new char[0];
}
}
在String的源代码中如果改变了内容 都是返回的一个新的字符串
String的内部是一个char[] 数组
3、String字面量如果相同会替换为同一个String对象的引用,常量连接的结果也被优化为一个字符串
4、String的比较equals, hashCode()
equals比较的是对象的内容
equals()方法的主要源代码
public boolean equals(Object object){
if(this = object){
return true;
}
}
5、String常用的方法
charAt(int index); 返回指定索引出的char值
length(); 放回字符串的长度 String的length()方法后面有括号 而数组的length方法后面是没有括号的
trim(); 放回一个新的字符串 去除两端的空白字符
indexOf(); 返回指定字符串的下标
lastIndexOf(); 返回指定字符串在字符串中最后一次出项的索引
String url="http://www.baidu.com";
int x = url.lastIndexOf(".");
System.out.println(x);
//x = 16
endsWith();判断字符串以什么结尾 返回值为boolean
startWith(); 判断字符串以什么开始 返回值也为boolean
substring(int start, int end); 返回一个新的字符串从指定索引开始到结束前一位
substring(int start);