2013-01-16 86 views
1

如何在C++中實例化一個泛型類型?通用JNI類型實例化

如果我想創建一個List<X>其中X是對象。我怎樣才能做到這一點?

回答

3

只是實例化列表。由於泛型被編譯器擦除,這完全等同於運行時的List。

0

鑑於您不能在運行時使用Java實例化泛型類型,我非常確定您無法在C++中實現。

泛型是一個編譯時功能。除非你想將你生產的東西傳遞給編譯器,例如作爲純文本中的Java代碼,泛型不太可能對您有用。 (如果你也想這樣做,我懷疑C++不會是你的最佳選擇)

如果我想創建一個列表,其中X爲對象

在Java X是一種類型的參考到一個對象。由於所有列表中的代碼只保存引用,所以代碼是相同的,並且不像C++那樣模板化。這意味着你不能使用基元或結構或對象,只能使用引用。

+0

他不想實例化X,他想實例化List 。 – EJP