>
> Ono je to poměrně logické, stačí se zamyslet nad touto situací:
>    Round r = new BagRound();
>    r.doTransition(Gender.MALE);
> Z hlediska kompilátoru by bylo vše v pořádku, protože metoda
> Round.doTransition bere jako parametr opravdu libovolný enum.


Rád bych v téhle souvislosti upozornil, že typový systém Javy obsahuje
podobnou díru od své první verze -- pole :-)

String[] a = { "a", "b", "c" };
Object[] b = a;
b[0] = new Object();

Druhý řádek by v rozumném jazyce neprošel překladačem, ale tady dostanete na
třetím řádku výjimku za běhu.

LT

Odpovedet emailem