首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Java 泛型實作機制與 C++ STL 模板的異同比較

     編輯:程式設計疑難解答

核心差異

特性C++ STL 模板Java 泛型
實作時機編譯期實例化,產生具體程式碼執行期型別擦除,僅保留原始型別
型別資訊完整保留,可用 typeid編譯後移除,無法在執行期獲取具體型別
基本型別支援直接支援 int、double 等需使用包裝類別 Integer、Double
效能零額外開銷裝箱/拆箱有效能損耗

結論

C++ 模板屬於「編譯期多態」,Java 泛型屬於「編譯期檢查、執行期擦除」。兩者解決同類問題但機制本質不同。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved