簡體   English   中英

為什么Java有這么多的解析方法?

[英]Why Java has so many parse methods?

例如,Math.max(.. ..)方法被重載以支持不同類型的Number 所有這些的一個名稱,因為沒有其他類型的數字 ,它做同樣的事情。
為每個擴展Number的類定義的解析NumberType方法也是如此。

為什么會這樣? 如果參數化的解析方法在Number(和Number of course,參數化)中定義,那就不會更好了: public abstract T parse( String s ); (並在之后的所有子類中實現)

Math.max的各種版本都有原始參數,而不是Numbers(對象)。 你建議的是每次調用方法時都需要裝箱/拆箱操作,這不會像當前設計那樣有效。

自JDK 1.0以來存在Number ,Generics僅在Java 1.5中引入。 因此,這種通用的解析方法是不可能的。

關於Math.max ,它只接受基本類型,它們彼此之間沒有任何形式的關系,並且每個基本類型需要單獨聲明才能被支持。

解析實例方法毫無意義。 您必須在解析之前構造不可變值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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