String 代表的是 Java 中的字符串 , String 类⽐较特殊,它整个类都是被 final 修饰的,也就是
说,String 不能被任何类继承,任何 修改 String 字符串的⽅法都是创建了⼀个新的字符串。
方法 String.intern()
:在 JDK1.7 及以后调⽤ intern ⽅法是判断运⾏时常量池中是否有指定的字符串,如果没有的话,就把字符串添加到常量池(JDK8之后,字符串常量池在堆中)中,并返回常量池中的对象。
String s1 = "aaa";
String s2 = "aa" + new String("a");
String s3 = new String("aaa");
System.out.println(s1.intern().equals(s1)); //true
System.out.println(s1.intern().equals(s2)); //true
System.out.println(s3.intern().equals(s1)); //true
- StringBuilder 不加锁
- StringBuffer 线程安全