JNI: Come posso verificare se jobject è un oggetto null in codice nativo cJNI: Come posso verificare se jobject è un oggetto null in codice nativo C
27
A
risposta
26
Dal momento che gli oggetti in codice Java e C effettivamente utilizzare il stesse posizioni di memoria (l'oggetto passato al codice nativo è lo stesso riferimento di memoria in entrambi i mondi), un semplice
if (someJObject == NULL) {}
nel codice C dovrebbero essere più che bene immagino. Non ho ancora testato, però :-)
14
commento di Stewori merita di essere una risposta, ecco che è:
(*env)->IsSameObject(env, someJObject, NULL)
Penso che questo test ha esito positivo in cui il raffronto valore fallisce quando il tipo di riferimento è JNIWeakGlobalRefType , contro un riferimento locale o globale.
Problemi correlati
- 1. Come utilizzare un array di jobject? (JNI)
- 2. Verificare se esiste una chiave in NewtonSoft JObject C#
- 3. JNI - metodo nativo con il parametro ByteBuffer
- 4. Come verificare un "riferimento oggetto NULL" in Managed C++?
- 5. Come verificare se null è in streaming?
- 6. Verificare se è un oggetto
- 7. Come verificare se un oggetto è definito?
- 8. Come creare un oggetto con JNI?
- 9. Come verificare se un Datatable è Null o Nothing
- 10. Confronto dei riferimenti oggetto JNI
- 11. JNI mantenendo un riferimento globale a un oggetto, accedendo ad esso con altri metodi JNI. Mantenere vivo un oggetto C++ su più chiamate JNI
- 12. Rcpp - come verificare se un attributo è NULL
- 13. Come deserializzare un oggetto JObject su .NET
- 14. Come posso verificare se un oggetto interfacciato implementa un'altra interfaccia?
- 15. Come verificare se una variabile è un oggetto IEnumerable
- 16. KVO - Come verificare se un oggetto è un osservatore?
- 17. Come posso verificare se un oggetto è nullo in ruby su rails 2?
- 18. Problemi di chiamata su un metodo Java da un thread nativo utilizzando JNI (C++)
- 19. Come verificare se l'oggetto è un vettore
- 20. C# DataTable ItemArray restituisce '{}' - come posso verificare il valore null?
- 21. JNI - UnsatisfiedLinkError sul metodo nativo
- 22. Come posso verificare se un JSON è vuoto in NodeJS?
- 23. Come verificare se un oggetto è iterabile in Ruby?
- 24. Come verificare se un oggetto è uno streaming in NodeJS
- 25. come posso controllare se un oggetto esiste in C++
- 26. Come verificare se un tipo è una stringa in C#?
- 27. Come verificare se un oggetto è un elenco di stringhe?
- 28. Come convertire jbyteArray in char nativo * in jni?
- 29. python 3: come verificare se un oggetto è una funzione?
- 30. Come verificare se una struttura è NULL in C o C++
Ho provato questo. Funziona. Un oggetto Java 'null' (come un jobject) == NULL in C++. –
Vedere anche http://java.sun.com/docs/books/jni/html/design.html – tmandry
Sciocco Oracle. Quell'indirizzo non è più valido. Per ora, questo indirizzo IP di Sun funziona per me: http://192.9.162.55/docs/books/jni/html/design.html –