我經常看到類似Java Generics and adding numbers together這樣的問題,答案通常歸結爲您無法真正對Number
本身做任何事情。Number類的用途是什麼?
的Sourcecode表明Number
大多不像示例對象的空殼。
在這一點上,其中使用Number
而不是一個具體亞型我想不出的情況有顯著(如果有的話)的優勢。通常我會從Number
開始,但在實際使用它時會遇到問題,並將其更改爲子類型。但這可能只是我有限的經驗。
所以我想知道,這是什麼類的其他然後是數字類型的,沒有實際功能的共同祖先的目的是什麼?
安全嗎? ;-)不確定。 – 2011-12-29 18:40:01
那麼,儘可能安全......至少你不會拋出異常!但是,當然,如果您嘗試在不檢查範圍的情況下不小心轉換,或者考慮截斷和舍入是否會成爲問題,那麼您肯定會遇到麻煩。 – Renato 2011-12-29 19:03:18
如果您確實想要安全地執行此操作,請將該值存儲爲BigDecimal,然後使用各種確切的方法(例如BigDecimal#longValueExact)。如果所需基元的大小無法正確存儲值,則會引發異常。 – Saish 2011-12-29 22:51:07