private <T extends Number> T method(T param){...}
這將接受AtomicInteger,AtomicLong,BigDecimal,BigInteger,Byte,Double,Float,Integer,Long,Short。如何將java中的泛型類型綁定爲只接受Integer和double
我只想接受Double,Integer,Float。
private <T extends Number> T method(T param){...}
這將接受AtomicInteger,AtomicLong,BigDecimal,BigInteger,Byte,Double,Float,Integer,Long,Short。如何將java中的泛型類型綁定爲只接受Integer和double
我只想接受Double,Integer,Float。
不能像這樣限定泛型,因爲Integer
,Double
和Float
是final
。因此,他們不能延長。
您可以超載三種方法:
private Integer method(Integer param){...}
private Double method(Double param){...}
private Float method(Float param){...}
抱歉..接受:) – sanbhat
我不相信有一種方法,通過泛型做到這一點(因爲那些你想要的類型是兄弟姐妹)。
我反而只是重載方法來採取這些不同的參數。它對每個客戶端都是一樣的,而且如果客戶端試圖用錯誤的類型調用該方法,編譯器會給你一個錯誤。
這種方法做什麼? – user2357112
{返回參數 - 5;}和減號沒有定義爲 – Bhuvan
這是行不通的。閱讀拳擊,拆箱以及基元和對象之間的區別。 – user2357112