Bonjour,
Tout d'abord, je n'aime pas les casts. : )
Une solution peut-être pas très propre me vient à l'esprit pour des petits trucs isolés.
En gros ça remplace le check pour le cast par un appel de méthode. Et surtout il n'y a pas de cast dans mon code.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 class A { B asB(){ throw new IllegalStateException("Bad Type"); } C asC(){ throw new IllegalStateException("Bad Type"); } } class B extends A { final B asB(){ return this; } } class C extends A { final C asC(){ return this; } }
Est-ce que quelqu'un sait si c'est fort différent au runtime finalement?
Merci : )
Partager