Java 复习笔记(五) - 转自 廖雪峰的 Java 教程
字符串和编码
从表面上看,两个字符串用 ==
和 equals()
比较都为 true
,但实际上那只是 Java 编译器在编译期,会自动把所有相同的字符串当作一个对象放入常量池,自然两个字符串的引用就是相同的。
所以,两个字符串判断是否相同,必须用 equals()
。
复制对象 obj.clone()
。
我获取到的 java.version
为 null
,说明系统变量中不存在这样的变量名。我本地测试版本 jdk 1.8,可能是 Java 版本比较低的原因没有获取到。
通过系统变量设置函数 setProperty
设置的值只能是字符串,且字符串需要可以转化为 Integer
,否则 Integer.getInteger
获取到值会一直为 null 。比如设置 java.version
为 "1.8"
,则 Integer.getInteger
返回 null。
总结:
- Java 字符串 String 是不可变对象;
- 字符串操作不改变原字符串内容,而是返回新字符串;
- 常用的字符串操作:提取子串、查找、替换、大小写转换等;
- Java 使用 Unicode 编码表示 String 和 char;
- 转换编码就是将 String 和 byte[] 转换,需要指定编码;
- 转换为 byte[] 时,始终优先考虑 UTF-8 编码。
StringBuilder 可变字符串
构造 Insert 语句
总结:
- StringBuilder 是可变对象,用来高效拼接字符串;
- StringBuilder 可以支持链式操作,实现链式操作的关键是返回实例本身;
- StringBuffer 是 StringBuilder 的线程安全版本,现在很少使用
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。