2周刷完100道前端优质面试真题
超清原画 完整无密 资料齐全 获取ZY:百度网盘
Java 16 新特性:instanceof加强
instanceof这个关键词,主要用来判别某个对象是不是某个类的实例。
比方,有时分我们要处置一个相似这样的数据集:
Map data = https://www.it610.com/article/new HashMap<>();
data.put("key1", "aaa");
data.put("key2", 111);
复制代码
这个Map中的Value值由于可能是不同的对象,所以定义的是Object。这个时分,当我们get出来的时分,就需求去判别和转换之后再去处置。
比方,我们取出key1的value,然后截取一段字符串的操作,就需求这样写:
【2周刷完100道前端优质面试真题源码齐全】Object value =https://www.it610.com/article/data.get("key1");
if (value instanceof String) {
String s = (String) value;
System.out.println(s.substring(1));
}
复制代码
先判别获取的value能否是String,再做强迫类型转换,然后再对字符串停止操作。这是传统的写法,而在Java 16的加强之后,关于instanceof的判别以及类型转换能够合二为一了,所以改良后的写法能够如下:
Object value =https://www.it610.com/article/data.get("key1");
if (value instanceof String s) {
System.out.println(s.substring(1));
}
复制代码
是不是简单不少呢?假如没用过的话,赶紧操作试试看吧!
Tips:该功用阅历了2个Preview版本(JDK 14中的JEP 305、JDK 15中的JEP 375),最终定稿于JDK 16中的JEP 394。