cost 237 ms
為什么 Class.getPermittedSubclasses() 返回 Class<!--?--> [] 而不是 Class<!--? extends T--> []

[英]Why does Class.getPermittedSubclasses() return Class<?>[] and not Class<? extends T>[]

我有一個允許 3 種類型的密封接口。 我想獲得每種類型的構造函數,所以我嘗試了以下方法。 但是, getPermittedSubclasses()的返回類型是Class&lt;?&gt; 。 為什么不是Class&lt;? extends Parent&gt; Class&lt;? extend ...

Java密封型帶模式開關VS模式訪客

[英]Java sealed type with pattern switches VS pattern Visitor

順便說一句:在 java 15 之前為了補救這個人們使用了“類型安全訪問者”模式。 我建議不要為了你的理智而學習,但如果你好奇,你可以看看 ANTLR 生成的代碼——它都是一個不同“形狀”數據結構的大層次結構。 資料來源:第 2 節, Java 中的“密封接口”有何意義? 在我們使用Visitor來 ...

Java 17 中的密封類是什么?

[英]What are sealed classes in Java 17?

今天,我將我的 Java 版本從 16 更新到 17,我發現sealed類是其中的一個新特性。 我認為可以這樣聲明: 但是,Java 中的密封類有什么用? 我也知道這是 jdk-15 中的預覽功能。 ...

有沒有辦法模擬密封的接口?

[英]Is there any way to mock a sealed interface?

今天我為java 16預覽創建了一個小測試項目。 我創建了一個密封的接口和一個最終的實現。 我想知道是否有辦法模擬密封接口,以便我可以測試使用密封接口的實現。 然而,這一切都相當於創建一個 java.lang.IncompatibleClassChangeError,因為無法實現密封類。 ...

Java Intellij IDEA 2020.3.3中Switch的16個模式匹配問題(表達式預期)

[英]Java 16 pattern matching problem with Switch in Intellij IDEA 2020.3.3 (Expression expected)

正如我們所知,Java 16 帶來了諸如記錄、密封接口和類以及模式匹配等新特性。 今天我想在我的培訓項目中使用它們。 但是,我遇到了一個問題,也許我不明白一些事情。 因此,在代表我的 Intellij Idea 項目的給定代碼中,情況看起來像: 我有包:客戶端和訂單 客戶端 class 是一個密封 ...

密封類不編譯,Eclipse 編譯器錯誤?

[英]Sealed classes don't compile, Eclipse compiler bug?

我在 Eclipse 2020-09 和 2020-12 有這兩個課程: Class A Class B 但是,eclipse 編譯器在 class B 中給我一個編譯器錯誤: 擴展密封 class Serializable 的類型 B 應該是 Serializable 的允許子類型這看起來很 ...

是否可以使用“密封方法”改進密封類?

[英]Is it possible to refine sealed classes with "sealed methods"?

我正在玩 java 15 中的預覽密封類,我想知道為什么關鍵字sealed和non-sealed只適用於類和接口,而不適用於方法(像其他修飾符一樣)。 我想具體決定哪些方法可以被允許的子類覆蓋可能是有用的。 一個例子:我有一個 class Unit有兩個子類Metric和Imperial ,它們最 ...

Java 中的“密封接口”有什么意義?

[英]What is the point of a “sealed interface” in Java?

密封類和密封接口是Java 15中的一個預覽功能,在 Java 16 中有第二個預覽,現在建議在 Java 17 中交付。 他們提供了經典的例子,如Shape -&gt; Circle 、 Rectangle等。 我理解密封類:提供的switch語句示例對我來說很有意義。 但是,密封接口對我來說 ...

JDK 15 密封類 - 如何跨包使用?

[英]JDK 15 Sealed Classes - how to use across packages?

我有一個簡單的密封類MyShape : 還有一個簡單的子類MyCircle : 當兩個類都在同一個包中時,一切都會編譯並運行。 如果我將 MyCircle 移動到一個子包中,那么構建會中斷: java: class is not allowed to extend sealed class: ...

用非密封類擴展密封類有什么意義?

[英]What is the point of extending a sealed class with a non-sealed class?

我真的不明白為什么在 JEP 360/Java 15 中有一個non-sealed關鍵字。對我來說,密封類的擴展應該只是 final 或密封類本身。 提供“非密封”關鍵字將邀請開發人員進行黑客攻擊。 為什么我們允許將密封類擴展到非密封類? ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM