如何用JNI实例化Java泛型?

如何用JNI实例化Java泛型?

问题描述:

如果我要实例化一个Date,我可以使用:如何用JNI实例化Java泛型?

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>

以同样的方式。在虚拟机级别上,没有泛型。

@noise是正确的。泛型只用于确保类型安全。编译时,编译器会“输入擦除”。看看这个类型擦除的更详细的解释:Type Erasure