1. String是一个引用类型,本身是通过一个char[]数组表示的
2. 字符串重要特点:字符串不可变。是通过private final char[],以及没有任何修改char[]的方法实现的
3. 字符串比较使用equals,忽略大小比较使用equalsIgnoreCase
4. StringBuilder、StringJoiner
5. 包装类型:基本类型对应的引用类型
(1). 基本类型不能赋值为null,引用类型可以
(2). 基本类型转换为包装类型为装箱,相反为拆箱(此过程发生在编译阶段)
(3). 包装类是不变类,即所有值不可变。所以用equals来判断是否相等
(4). 能创建“新”对象的静态方法称为静态工厂方法。Integer.valueOf()就是静态工厂方法,它尽可能地返回缓存的实例以节省内 存。
6. 枚举:关键字:enum,在JVM中只有一个唯一的实例,可以使用==来进行比较
(1) 类型就是class
(2) 特点:定义的enum
类型总是继承自java.lang.Enum
,且无法被继承;只能定义出enum
的实例,而无法通过new
操作符创建enum
的实例;定义的每个实例都是引用类型的唯一实例;可以将enum
类型用于switch
语句。
(3) 可以定义构造方法、字段和方法。构造方法要声明为private
7. BigInteger (java.math.BigInteger)
(1) 用来表示任意大小的整数
(2) 只能使用实例方法进行运算
(3) BigInteger
是不变类,并且继承自Number
;
(4) 将BigInteger
转换成基本类型时可使用longValueExact()
等方法保证结果准确。
8. BigDecimal
(1) 表示一个任意大小且精度完全准确的浮点数。
(2) 用scale()
表示小数位数
(3) 比较BigDecimal
的值是否相等,必须使用compareTo()
而不能使用equals()
。