Zou. Une version sans null dans la ClasseA, sans le get() inutile, un peu de type checking de plus...
publicclassClassA{privateclassClassB<IextendsInteger,SextendsString>extendsArrayList<Object>{publicvoidmyAdd(Ii,Ss)throwsException{if(i==null&&s==null)thrownewException("Je veux un paramètre !");if(i!=null&&s!=null)thrownewException("Mais juste un seul !");Objecto=null;if(i!=null)o=i;elseo=s;super.add(o);}publicvoidaddInt(Ii)throwsException{myAdd(i,null);}publicvoidaddString(Ss)throwsException{myAdd(null,s);}}publicstaticvoidmain(String[]args)throwsException{ClassAa=newClassA();a.doThings();}publicvoiddoThings()throwsException{ClassB<Integer,String>maListeDeBidules=newClassB<>();maListeDeBidules.addInt(1);// okmaListeDeBidules.addString("deux");// okSystem.out.println("mon bidule 1: "+maListeDeBidules.get(0));System.out.println("mon bidule 2: "+maListeDeBidules.get(1));maListeDeBidules.myAdd(3,"quatre");// pas ok}}
[^] # Re: Typage
Posté par _kaos_ . En réponse au message débutant java : opérations de base sur les listes. Évalué à 0.
Salut,
Allez, comme c'était pas long...
Zou. Une version sans
nulldans laClasseA, sans le get() inutile, un peu de type checking de plus...Matricule 23415