Les miracles des compilateurs et IDE modernes
aujourd'hui par hasard j'ai écrit le code suivant :
Code:
1 2 3 4 5
| private static Date [][] stringToDates(String s){
Date ds [][] = new Date[12][2];
for(int i = 0 ; i < ds.length; i++)
return ds;
} |
a terme cela donnera plutôt un :
Code:
1 2 3 4 5 6 7
| private static Date [][] stringToDates(String s){
Date ds [][] = new Date[12][2];
for(int i = 0 ; i < ds.length; i++){
//mon traitement
}
return ds;
} |
mais ce qui est interressant je trouve c'est l'erreur que mon IDE m'a donné pour le premier code :
Citation:
i++ : warning dead code
logique bien vu bien détecté
mais moins logique il me donne aussi pour la méthode :
Citation:
This method must return a result of type Date[][]
bon bien sur c'est pas d'une importance capitale mais je ne comprends pas vraiment comment il peut détecter que le code ne sera jamais exécuté et en plus que la méthode peut dans certains cas ne rien renvoyr
avec un maven clean compile sur le projet ça compile bien
j'ai pas beaucoup poussé plus loin mais si quelqu'un a une explication ça m'intéresserais de l'avoir
De la même manière avez vous eu d'autres perles de ce genre ?
ps config : jdk 1.6.0.18 sur win xp sp3 avec STS 2.5.1 (eclipse 3.6.1)
ps 2 : si c'est pas le bon endroit n'hésitez pas non plus