首頁>Club>
8
回覆列表
  • 1 # 獅子座流星雨

    人吃任何東西的過程都一樣,只是可吃的東西各種各樣:把東西放進嘴裡,在嘴裡把東西用牙齒嚼碎,舌頭和唾液攪拌下嚥下去。有了泛型就可以用帶了表示東西的這個泛型引數的人表達這個場景。這個泛型引數是水果,就是人吃水果。這個泛型引數是飯,就是人吃飯。這個泛型引數是菜,就是人吃菜。好處就是同一個人就可複用吃。

  • 2 # 程式設計師遇見更好的自己

    泛型即根據傳入的引數不同返回不同的型別,比如返回給前端的是一個具體內容物件,我們就可以定義為泛型即具體內容可以傳入不同的物件。

    泛型的定義可以把某一相似的屬性來接收不同的值。

  • 3 # 熙爸愛釣魚

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

    先說下泛型的主要作用:

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

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

    再說下java泛型奇葩之處:

    1,java泛型實現的原理叫型別擦除,不管程式碼中怎麼定義泛型,編譯後都變成object, 因此不能實現執行時的型別安全。 而且java編譯器不夠聰明,可以很容易騙過去。 舉個例子,你呼叫了第三方的介面返回List<String>,但實際拿到的值裡面可能跟String沒有半毛錢關係。

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

  • 中秋節和大豐收的關聯?
  • 如何把開車變成一件有趣不枯燥的事?