String jsonStr ="{\\n" +
" \\"name\\":\\"张三\\",\\n" +
" \\"age\\":18\\n" +
"}\\n";
String jsonStr = """
{
"name":"张三",
"age":38
}
""";
内部的特殊字符不需要转义,自动处理缩进和换行
isBlank():判断字符串是否为空白(包括空字符串和仅含空格的情况)。strip() / stripLeading() / stripTrailing():去除字符串首尾空白字符(支持 Unicode 空白)。lines():返回字符串中各行的 Stream。repeat(int count):将字符串重复指定次数。formatted() 方法:
String result = "Hello %s".formatted("World");建议:
举例:
String foo = null;
// 判断两个字符串是否相等:
"foo".equals(foo);
// 优于:
Objects.equals("foo", foo);
// 避免这样:
foo.equals("foo"); // 容易 NPE
// 格式化字符串:
"%s".formatted("hello");
// 优于
String.format("%s", "hello"); // 可读性稍微差一点点
// 判断字符串是否空白:
StringUtils.hasText(foo);
// 优于
foo.isBlank(); // 容易 NPE
基本定义(所有属性均为 private final,自带隐式全参构造方法、自带 equals() toString() hashCode() 方法,自带 accessor 方法):
public record Person(String name, int age) {
// 编译器自动生成的构造方法:
// public Person(String name, int age) {
// this.name = name;
// this.age = age;
// }
}
显式规范构造方法和紧凑构造方法:
规范构造方法的定义是,构造方法的参数个数、类型和顺序,与 record 定义的字段完全一致。