JNI: Comment puis-je vérifier si jobject est un objet nul dans le code natif cJNI: Comment puis-je vérifier si jobject est un objet nul dans le code natif c
27
A
Répondre
26
Étant donné que les objets dans le code Java et C réellement utiliser la mêmes emplacements de mémoire (l'objet passé au code natif est la même référence de mémoire dans les deux mondes), un simple
if (someJObject == NULL) {}
dans le code C devrait être très bien je suppose. Je ne l'ai pas testé si :-)
14
commentaire de Stewori mérite d'être une réponse, si elle est ici:
(*env)->IsSameObject(env, someJObject, NULL)
Je pense que ce test réussit là où la comparaison de la valeur échoue lorsque le type de référence est JNIWeakGlobalRefType , vs une ref locale ou globale.
Questions connexes
- 1. Comment vérifier si un objet est nul
- 2. Comment vérifier si un objet est nul
- 3. Comment vérifier si un BOOL est nul?
- 4. Java: Comment vérifier si l'objet est nul?
- 5. Vérifiez si un objet dans un tableau 2d est nul
- 6. Comment vérifier si un objet est défini?
- 7. Comment puis-je vérifier si un tableau est nul/vide?
- 8. Vérification si un objet Java est de type tableau dans JNI
- 9. c, vérifier si l'objet est indéfini ou nul
- 10. Comment désérialiser un objet JObject en .NET
- 11. Impossible de vérifier si int est nul
- 12. vérifier si un champ de texte est nul
- 13. Exécuter le code natif via JNI/DLL ou EXE?
- 14. Vérifier si un objet a le focus
- 15. JNI CALL modifier le paramètre jclass ou comment obtenir un jobject à partir d'un paramètre jclass
- 16. Django: Comment vérifier si un objet est dans le champ ManyToMany d'un autre objet?
- 17. Comment vérifier (via le préprocesseur) si un fichier source C est compilé en C++ Code
- 18. Pour vérifier si un objet est vide ou non
- 19. Comment vérifier si TypeIdenitifier (T) est un objet?
- 20. Comment vérifier si un processus a des privilèges élevés dans Windows 7 en utilisant C++ natif?
- 21. Comment vérifier si un objet est une instance de 'fichier'?
- 22. Comment vérifier si un élément est sélectionné dans TreeView (C#)
- 23. Comment vérifier si un objet existe dans un NSMutableArray
- 24. Javascript: est nul ou pas un objet
- 25. Tomcat se bloque si effectuer un appel natif multithread en utilisant Jace JNI
- 26. Comment vérifier un tableau de caractères est nul dans l'objectif C
- 27. Objective-C: Comment vérifier si un protocole objet est une classe spéciale
- 28. Comment vérifier si un élément jQuery est dans le DOM?
- 29. Comment gérer un objet nul dans un bloc de code ASP.NET
- 30. Comment vérifier si un objet contient un tableau d'octets?
J'ai testé ça. Ça marche. Un objet Java 'nul' (en tant que jobject) == NULL en C++. –
Voir aussi http://java.sun.com/docs/books/jni/html/design.html – tmandry
idiot Oracle. Cette adresse n'est plus valide. Pour l'instant, cette adresse IP Sun travaille pour moi: http://192.9.162.55/docs/books/jni/html/design.html –