测试必学:探秘大厂全链路质量保障体系
teeing 搜集器已公開爲静態辦法Collectors::teeing。該搜集器將其輸入轉發給其他兩個搜集器,然後將它們的結果運用函數兼並。
2.1 字符串缩進
indent 辦法有助於更改字符串的缩進。我們能夠傳送正值或負值,詳細取決於我們是要添加更多空格還是删除現有空格。
String result = "foo\nbar\nbar2".indent(4);
System.out.println(result)
// foo
// bar
// bar2
2.2. transform()
字符串轉換辦法,看代码:
List names = List.of(
" Alex",
"brian");
List transformedNames = new ArrayList<>();
for (String name : names) {
String transformedName = name.transform(String::strip)
.transform(StringUtils::toCamelCase);
transformedNames.add(transformedName);
}
2.3. 字符串常量
從 Java 12 開端,String類完成了兩個額外的接口java.lang.constant.Constable和java.lang.constant.ConstantDesc。
String類還引入了兩個額外的低級辦法describeConstable()和resolveConstantDesc(MethodHandles.Lookup).
它們是低級 API,用於提供字節码解析和生勝利能的庫和工具,例如 Byte Buddy。
請留意,Constable類型是其值是能夠在 Java 類文件的常量池中表示的常量,如JVMS 4.4中所述,並且其實例能夠名義上將本人描绘爲ConstantDesc.
resolveConstantDesc()與此相似,describeConstable()不同之處在於此辦法返回的是 C 的實例onstantDesc。
3. Files.mismatch(path, path)
有時,我們想肯定兩個文件能否具有相同的内容。此 API 有助於比擬文件的内容。
mismatch()辦法比擬兩個文件途径並返回一個long值。long 表示兩個文件内容中第一個不匹配字節的位置。'–1'假如文件“相等”,則返回值。
Path helloworld1 = tempDir.resolve("helloworld1.txt");
Path helloworld2 = tempDir.resolve("helloworld2.txt");
long diff = Files.mismatch(helloworld1, helloworld2);
4.緊湊數字格式
由用戶界面或命令行工具呈現的大量數字總是難以解析。運用數字的缩寫方式更爲常見。緊湊的數字表示更容易阅讀並且在屏幕上需求更少的空間而不會失去原始含義。
例如3.6 M比3,600,000更容易阅讀。
Java 12 引入了一種名爲NumberFormat.getCompactNumberInstance(Locale, NumberFormat.Style)的便利辦法,用於創立緊湊的數字表示。
NumberFormat formatter = NumberFormat.getCompactNumberInstance(Locale.US,`` ``NumberFormat.Style.SHORT);` `String formattedString = formatter.format(25000L); ``//25K
5. 支持 Unicode 11
在表情符號在社交媒體渠道交流中發揮關键作用的時期,支持最新的 Unicode 標準比以往任何時分都愈加重要。Java 12 堅持同步並支持 Unicode 11。
Unicode 11 增加了 684 個字符,總共 137,374 個字符 - 以及 7 個新脚本,總共 146 個脚本。
download链接:pan.baidu.com/s/1KaXncJbd… 提取码:eti9 --来自百度网盘超级会员V4的分享