String 优化
线程安全与线程不安全
StringBuffer 线程安全 速度较慢
StringBuild 线程不安全 速度较快
String 原理与使用场景
String 会放在字符串常量中。
new String() 在编译类文件的时候字符串会放入到常量池结构中,在类加载的时候,字符串会在常量池中创建
String对象的intern()方法会先在常量池中寻找是否有这个字符串,没有就在堆内存中创建一个,有则直接获取引用;地址会一样。(在有大量的重复字符串的时候可以使用)
分割字符串
我们一般使用split 方法去分割字符串,split 方法的底层使用的是正则表达式的形式,效率比较低。需要避免这个方法的使用
我们可以用indexOf 方法,如果实在达不到预期效果,则使用split 方法。