से enum वापस जाने के लिए जावा में मेरे पास है:कैसे JNI
public class MyClass{
public enum STATUS {
ZERO,
ONE ,
TWO
}
public native STATUS nativeGetStatus();
...
private STATUS state = nativeGetStatus(); //returns enum
private STATUS state2 = nativeGetStatus(); //returns enum
}
मैं देशी विधि 'nativeGetStatus' चाहते हैं तो इस enum मान देने के लिए।
जेएनआई पूर्णांक लौटा रहा है और जावा में enum के मूल्य की तुलना करना एक विकल्प है, लेकिन क्या सोच रहा था कि यह नौकरी के माध्यम से मूल्य वापस करना और इसे सीधे राज्य में असाइन करना संभव है? अगर हाँ कैसे?
आप क्षेत्र 'राज्य' का उपयोग और jobject के रूप में इसे वापस ओर इशारा करते हैं: तो यहाँ JNI कार्यान्वयन कि इसके बाद के संस्करण (परीक्षण नहीं) उदाहरण के साथ काम करना चाहिए है? खेद है कि मैंने अपनी मूल पोस्ट में उल्लेख करना याद किया कि एक से अधिक फ़ील्ड हो सकते हैं जिन्हें देशीGetStatus का रिटर्न वैल्यू सौंपा जाएगा। इस मामले में "बस जेएनआई से क्षेत्र प्राप्त करें और इसे नौकरी के रूप में वापस करें" शायद – krt
काम नहीं कर सकता है, मेरा मतलब है कि एक कक्षा स्थिति का एक स्थिर क्षेत्र है। आप इसे एक्सेस कर सकते हैं और जेएनआई से वापस आ सकते हैं। –
[यही कारण है कि आपको कभी भी एक उत्तर के रूप में लिंक प्रदान नहीं करना चाहिए] (http://25.media.tumblr.com/d10e5fba3bfbe874fbda2fcd8c2c2415/tumblr_mkvzqac3YX1r55vh6o1_1280.png)। – namuol