Bonjour,

D'aprés vous, l'usage du mot clef instanceof est il nécessaire sur le code suivant? (sachant que le code en gras ne peut pas être modifié):

public class Test {

public static void main(String[] args) {
Test test = new Test();
test.process();
}

public void process() {
Item[] item = new Item[3];
item[0] = new Item();
item[1] = new Item1();
item[2] = new Item2();

for(int i=0; i<item.length;i++) {
if(item[i] instanceof Item1) {
display((Item1) item[i]);
} else if(item[i] instanceof Item2) {
display((Item2) item[i]);
} else {
display(item[i]);
}
}
}

private void display(Item item) {
System.out.println("Item");
}

private void display(Item1 item) {
System.out.println("Item 1");
}

private void display(Item2 item) {
System.out.println("Item 2");
}
}

class Item {

}

class Item1 extends Item {

}

class Item2 extends Item {

}
Le but de ce topic est de définir des solutions alternatives à l'usage du mot-clef instanceof.

Merci d'avance pour votre aide.