栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

jdk8之后的那些事

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

jdk8之后的那些事

jdk9
module
package依赖关系
只导入部分模块,提高性能
jshell
支持交互式变成, 新手开发,测试友好
接口:
允许有私有方法, 私有方法只能当前类内引用, 一般是当前类其他方法(比如说default方法)调用它
匿名内部类使用<>在8不行 9支持了
twr
8中在try()中的初始化资源自动close
try(InputStreamReader reader=new InputStreamReader(System.in)){ }
9中可以在外部初始化,try()起来即可
InputStreamReader reader=new InputStreamReader(System.in);
OutputStreamWriter writer=new OutputStreamWriter(System.out);
try(reader,writer){}
集合方法
List.of() #快速创建
stream
takeWhile
对比filter: takeWhile会止流.
dropWhile

jdk10
var list = new ArrayList()


jdk11
String 新方法:
isBlank, lines, strip, stripLeading, stripTrailing, and repeat.
Files 新方法
readString 和 writeString
Collection
toArray
String[] sampleArray = sampleList.toArray(String[]::new);
相反Predicate negate
static Predicate not(Predicate target) {…}
stream支持var
String resultString = sampleList.stream() .map((@Nonnull var x) -> x.toUpperCase())…
httpclient

command
java命令自带javac , 自动编译

jdk13
Socket API, Server Socket

Switch 多匹配写法
return switch (month) {
case “march”, “april”, “may” -> “春天”;
case “june”, “july”, “august” -> “夏天”;
case “september”, “october”, “november” -> “秋天”;
case “december”, “january”, “february” -> “冬天”;
default -> “month erro”;
};
yield 关键字 相当于带return 的break
public static String switchJava13(String month) {
return switch (month) {
case “march”, “april”, “may”:
yield “春天”;
case “june”, “july”, “august”:
yield “夏天”;
case “september”, “october”, “november”:
yield “秋天”;
case “december”, “january”, “february”:
yield “冬天”;
default:
yield “month error”;
};
}

三双引号, 无需n支持换行
“”"
xx
“”"


jdk14
新增爱德华算法
instanceof 支持变量命名转换
if (obj instanceof ArrayList list) {
list.add(“www.wdbyte.com”);
}
#obj转成list

record #无须get/set, 不用lombok
自动给类中生成get/set
#快速定义类
public record UserDTO(String id,String nickname,String homepage) { };

#可以对构造器和字段要求.
public record Person(String name, String address) {
public Person {
Objects.requireNonNull(name);
Objects.requireNonNull(address);
}
}
#快速定义类 并自带get/set
record Student(Integer id, String name){}
Student stu = new Student(1001, “张三”);
System.out.println(stu);
System.out.println(stu.getClass());
System.out.println(stu.id());
System.out.println(stu.name());

可直接打包二进制程序执行 jdk15
垃圾回收器更新 jdk16 jdk17
switch 支持类型判断, 可以取代instance of

jdk18
java doc生成
注释生成
@snippet
高亮语法
@highlight

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/946812.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号