标签:序列 需要 ringbuf pytho 拼接 str1 integer 重复 安全
java不是纯面向对象的语言,基本数据类型就不是对象,这点跟python不同,因此,当要用基本数据类型转对象时,就需要相应的包装类进行包装。
例如Integer类,官方建议用Integer.valueOF(“30”)静态方法,就像Bolean.valueOf,有缓存,某些对象不需要重复创建。
Integer a = 1234;//自动装箱
int b = a;//自动拆箱 调用 a.IntValue();
-128到127之间的数字做了缓存,避免重复创建多余的对象,系统已经预先创建好了一个cache数组,里面包含这些对象了。
Integer i1 = 1234;
Integer i2 = 1234;
i1 == i2 false
Integer i1 =10;
Integer i2 = 10;
i1 == i2 true
1.不可变序列,final的一个char数组,字符串操作其实是创建了新的字符串。
2.字符串比较时尽量用equal 如果用==会有许多意想不到的问题,如:
str1 = "hello" + "csz"
str2 = "hellocsz"
str1 == str2 //true,因为字符串字面量编译器会做优化,str1 实际就是hellocsz
str = "hello"
str1 = str + "csz" //如果是拼接变量的话,就不是一个对象
stringBuilder 线程不安全 效率高 (一般用它)
StringBufer 线程安全 效率低
他们都是可变序列,方法都是return this 可以直接作用在原字符串上的
标签:序列 需要 ringbuf pytho 拼接 str1 integer 重复 安全
原文地址:https://www.cnblogs.com/shuzi0806/p/12241426.html