色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

Java為什么要有泛型

黃文隆2年前27瀏覽0評論

Java為什么要有泛型?

java里的泛型是奇葩的存在。這也是我經常懟java的一個原因。

先說下泛型的主要作用:

1,強化類型安全,比如定義了一個List<String>,那么里面只能存放String,不允許存放其他類型(派生自String的除外)。類型安全應該在編譯和運行時都能體現。

2,提高性能,減少類型轉換和裝箱拆箱次數。

再說下java泛型奇葩之處:

1,java泛型實現的原理叫類型擦除,不管代碼中怎么定義泛型,編譯后都變成object, 因此不能實現運行時的類型安全。 而且java編譯器不夠聰明,可以很容易騙過去。 舉個例子,你調用了第三方的接口返回List<String>,但實際拿到的值里面可能跟String沒有半毛錢關系。

2,既然類型被擦除,那么類型轉換就不可避免了,因此使用泛型和非泛型在性能上沒有任何變化。

java泛型方法,Java為什么要有泛型