[英]How to get Class of primitive types from Java JNI
該問題與此問題及其答案相關:
在Java中,int.class是否等於Integer.class或Integer.TYPE?
由於int.class不等於Integer.class,如何通過JNI在本機級別獲取int.class Class或其他原始類型? 我需要指向int.class而不是Integer.class的jclass對象。
這個測試
System.out.println(Integer.TYPE == int.class);
打印true
。 也就是說,Integer.TYPE是您想要的,您可以從本機代碼中讀取Integer.TYPE字段。 或從本機代碼調用Class.getPrimitiveClass("int")
在JNI中,原始值作為實際的機器值傳遞。 一個int作為一個jint傳遞,它被類型定義為一個32位帶符號整數。
http://docs.oracle.com/javase/1.5.0/docs/guide/jni/spec/types.html#wp9502
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.