2010-02-27 7 views

उत्तर

26
जावा और सी कोड में वस्तुओं के बाद से

वास्तव में उपयोग है जाँच कर सकते हैं एक ही स्मृति स्थानों (वस्तु मूल कोड के लिए पारित दोनों दुनिया में एक ही स्मृति संदर्भ है), एक सरल

if (someJObject == NULL) {} 
सी कोड में

ठीक मुझे लगता है कि होना चाहिए। हालांकि :-)

+3

मैंने इसका परीक्षण किया है। यह काम करता हैं। एक 'शून्य' जावा ऑब्जेक्ट (एक नौकरी के रूप में) == सी ++ में न्यूल। –

+0

यह भी देखें http://java.sun.com/docs/books/jni/html/design.html – tmandry

+1

सिली ओरेकल। वह पता अब मान्य नहीं है। अभी के लिए, यह सूर्य आईपी पता मेरे लिए काम कर रहा है: http://192.9.162.55/docs/books/jni/html/design.html –

14

Stewori की टिप्पणी एक जवाब हो जाना चाहिए मैं इसे परीक्षण नहीं किया है, तो यहाँ यह है:

(*env)->IsSameObject(env, someJObject, NULL) 

मुझे लगता है कि इस परीक्षण सफल होता है जहां मूल्य तुलना में विफल रहता है जब संदर्भ प्रकार JNIWeakGlobalRefType है , एक स्थानीय या वैश्विक रेफरी बनाम।

संबंधित मुद्दे