如何使用JNI实例化Java泛型?

时间:2011-05-01 19:02:06

标签: java generics java-native-interface

如果我要实例化Date,我可以使用:

jclass cls = (*env)->FindClass(env, "java/util/Date");
jmethodID ctr = (*env)->GetMethodID(env, cls, "<init>", "()V");
jobject obj = (*env)->NewObject(env, cls, ctr);

但是如何实例化ArrayList<String>

2 个答案:

答案 0 :(得分:10)

以同样的方式。在VM级别,没有泛型。

答案 1 :(得分:6)

@noise是正确的。泛型用于确保类型安全。编译时,编译器会“输入擦除”。查看有关类型擦除的更详细说明:Type Erasure