Junior
Que se passera-t-il si on accède à un champ d'un objet qui peut être null?
sobes.tech IA
Réponse de l'IA
NullPointerException (NPE). Se produit lorsque vous essayez d'appeler une méthode ou d'accéder à un champ d'un objet dont la référence est null.
Exemple:
data class User(val name: String)
fun printUserName(user: User?) {
// Si user == null, une NullPointerException se produira ici
println(user.name)
}
Pour éviter NPE, vous pouvez utiliser:
- Vérifications de null:
fun printUserName(user: User?) { if (user != null) { println(user.name) } else { println("L'utilisateur est null") } } - Opérateur d'appel sécurisé (
?.):fun printUserName(user: User?) { println(user?.name) // Affichera null si user == null, sinon le nom } - Opérateur Elvis (
?:):fun printUserName(user: User?) { val userName = user?.name ?: "Nom par défaut" // Assignera "Nom par défaut" si user?.name == null println(userName) } - Types non nuls (en Kotlin):
// Cette méthode accepte uniquement un objet User non nul fun printUserName(user: User) { println(user.name) // Garantit non null }