Java 14:instanceof的模式匹配
生活随笔
收集整理的這篇文章主要介紹了
Java 14:instanceof的模式匹配
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Java 14引入了pattern Matching for instanceof (另一種預(yù)覽語言功能) ,從而消除了在使用instanceof時進(jìn)行強(qiáng)制轉(zhuǎn)換的需要。 例如,考慮以下代碼:
if (obj instanceof String) { String s = (String) obj; System.out.println(s.length()); }該代碼現(xiàn)在可以重寫為:
if (obj instanceof String s) { System.out.println(s.length()); }如上所示, instanceof運(yùn)算符現(xiàn)在使用“綁定變量”,并且不再需要強(qiáng)制轉(zhuǎn)換為String 。 如果obj是String的實(shí)例,則將其強(qiáng)制轉(zhuǎn)換為String并分配給綁定變量s 。 綁定變量僅在if語句的true塊的范圍內(nèi)。
特別是,此功能使equals方法更加簡潔,如下例所示:
@Override public boolean equals(Object obj) { return this == obj || (obj Person other) && other.name.equals(name); (obj instanceof Person other) && other.name.equals(name); }此功能是模式匹配的一個示例,該模式已經(jīng)在許多其他編程語言中提供,并且允許我們有條件地從對象中提取組件。 它為將來更廣泛的模式匹配打開了大門,我對此感到非常興奮!
翻譯自: https://www.javacodegeeks.com/2020/04/java-14-pattern-matching-for-instanceof.html
總結(jié)
以上是生活随笔為你收集整理的Java 14:instanceof的模式匹配的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ddoscc攻击区别dns(ddos c
- 下一篇: 安卓剑魂online礼包码永久(安卓剑魂