Как я могу создать универсальный Java с JNI? - PullRequest
7 голосов
/ 01 мая 2011

Если я хочу создать экземпляр 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 ]

10 голосов
/ 01 мая 2011

Точно так же. На уровне ВМ нет дженериков.

6 голосов
/ 01 мая 2011

@ шум правильный.Дженерики используются просто для обеспечения безопасности типов.При компиляции компилятор выполняет «стирание типа».Проверьте это более подробное объяснение типа стирания: Тип стирания

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...