Est-ce qu'une vérification de null est nécessaire avant instanceof en Java ?
Bonjour, collègues ! Je suis un développeur Java débutant et j'ai rencontré une question qui me tracasse. Supposons que j'ai une variable qui peut être null et que je veux vérifier son type avec instanceof. Est-il nécessaire de vérifier explicitement que la variable n'est pas null avant cela ?
Voici un exemple de code que j'écris souvent :
```java
Object obj = getSomeObject(); // peut retourner null
if (obj != null) {
if (obj instanceof String) {
String str = (String) obj;
System.out.println(str.length());
}
}
```
Mais récemment, on m'a dit que instanceof est sûr en soi et retourne false pour null. Autrement dit, on peut écrire :
```java
if (obj instanceof String) {
String str = (String) obj;
System.out.println(str.length());
}
```
J'ai essayé — effectivement, aucune exception NullPointerException ne se produit. Mais j'ai encore des doutes : et si cela ne fonctionnait que dans des cas spécifiques ? Peut-être y a-t-il des pièges ? Par exemple, si obj est null, alors instanc
No answers yet.
Connectez-vous pour laisser une réponse