字符串和编码
- Java字符串String是不可变对象;
- 字符串操作不改变原字符串内容,而是返回新字符串;
- 常用的字符串操作:提取子串、查找、替换、大小写转换等;
- Java使用Unicode编码表示String和char;
- 转换编码就是将String和byte[]转换,需要指定编码;
-
StringBuilder
StringBuilder是可变对象,用来高效拼接字符串;
- StringBuilder可以支持链式操作,实现链式操作的关键是返回实例本身;
StringBuffer是StringBuilder的线程安全版本,现在很少使用。
StringJoiner
用指定分隔符拼接字符串数组时,使用StringJoiner或者String.join()更方便;
用StringJoiner拼接字符串时,还可以额外附加一个“开头”和“结尾”。
包装类型
Java核心库提供的包装类型可以把基本类型包装为class;
- 自动装箱和自动拆箱都是在编译期完成的(JDK>=1.5);
- 装箱和拆箱会影响执行效率,且拆箱时可能发生NullPointerException;
- 包装类型的比较必须使用equals();
- 整数和浮点数的包装类型都继承自Number;
- 包装类型提供了大量实用方法。
javaBean
JavaBean是一种符合命名规范的class,它通过getter和setter来定义属性;
属性是一种通用的叫法,并非Java语法规定;
可以利用IDE快速生成getter和setter;
使用Introspector.getBeanInfo()可以获取属性列表。枚举类
Java使用enum定义枚举类型,它被编译器编译为final class Xxx extends Enum { … };
通过name()获取常量定义的字符串,注意不要使用toString();
通过ordinal()返回常量定义的顺序(无实质意义);
可以为enum编写构造方法、字段和方法
enum的构造方法要声明为private,字段强烈建议声明为final;
enum适合用在switch语句中。