String类的知识点总结
public static void main(String[] args) {
String a = "abcde";//a是一个引用类型变量
String b = "abcde";
String c = new String("abcde");//这是一个应用类型变量new了一个string指向了“abcde”
System.out.println(a==c);//比较的是“abcde”对象和new string对象的内存地址 false
System.out.println(b==c);//同上
System.out.println(a==b);//“abcde”是存储在内存中的常量,一旦创建不可改变;true、
System.out.println(a.equals(b));//由于string对象重写了equals方法,比较的是字符数组中的是否完全相同
System.out.println(c.equals(b));
}
"abcde"本身就是一个对象,不用new也可以
字符串是一个常量,一旦创建不可改变
字符串的本质是一个char类型的数组
当我们创建一个string对象时,jvm会先去String constant pool (常量池中—堆)中检索这个这个常量是否存在,若存在则不再创建
String类的常用方法:
待更新ing...