Bonjour � tous.
Hier en consultant la javadoc sur la classe system je me suis aper�u que la m�thode static getenv() me renvoyait un objet de type Map<String,String>
Or premi�re chose qui me surprend: Map dans la javadoc ce n'est pas une classe mais une interface ...
J'ai donc voulu pousser l'investigation un peu plus loin et j'ai �crit ce petit bout de code
Je m'attendais � ce qu'on ne puisse pas �crire/utiliser menv.size() puisque Map est cens� �tre une interface.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8 Map<String,String> menv = System.getenv(); System.out.println(menv.size()); Iterator varEnv = menv.keySet().iterator(); while(varEnv.hasNext()) { String nomVar = (String)varEnv.next(); System.out.println("Variable: "+nomVar+" ; Contenu : "+menv.get(nomVar)); }
Mais apparemment si!
Ce qui m'�tonne tout de m�me c'est qu'on m'a toujours dit que les interfaces �taient en quelquesorte des squelettes et que les classes sont cens�s impl�menter ces m�thodes squelettes.
M'aurait on menti ? ;-)
Il y a certainement un truc qui m'�chappe mais je ne vois pas lequel.
Si quelqu'un � une explication je suis preneuse.
Partager