aujourd'hui par hasard j'ai écrit le code suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 :
i++ : warning dead code
logique bien vu bien détecté
mais moins logique il me donne aussi pour la méthode :
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