常用类
Posted shuzi0806
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常用类相关的知识,希望对你有一定的参考价值。
一:包装类
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
三: String类
1.不可变序列,final的一个char数组,字符串操作其实是创建了新的字符串。
2.字符串比较时尽量用equal 如果用==会有许多意想不到的问题,如:
str1 = "hello" + "csz"
str2 = "hellocsz"
str1 == str2 //true,因为字符串字面量编译器会做优化,str1 实际就是hellocsz
str = "hello"
str1 = str + "csz" //如果是拼接变量的话,就不是一个对象
四: stringBuilder 与StringBufer
stringBuilder 线程不安全 效率高 (一般用它)
StringBufer 线程安全 效率低
他们都是可变序列,方法都是return this 可以直接作用在原字符串上的
以上是关于常用类的主要内容,如果未能解决你的问题,请参考以下文章