Ahoj,

mam metodu

protected void process(List<Employee> list) {
  // ...

  for (Object object : (List<?>)list) {
    @SuppressWarnings("unchecked")
    Map<String, Object> map = (Map<String, Object>)object;
    // ...
  }
}

ovsem za parametr list je misto List<Employee> pouzivan List<HashMap>.
Ano, je to prasarna, ale to je ted vedlejsi.

na stroji WinXP s
java version "1.6.0_18"
Java(TM) SE Runtime Environment (build 1.6.0_18-b07)
Java HotSpot(TM) Client VM (build 16.0-b13, mixed mode, sharing)

to projde, kdezto na Linuxu se stejnou Javou:
java version "1.6.0_18"
Java(TM) SE Runtime Environment (build 1.6.0_18-b07)
Java HotSpot(TM) 64-Bit Server VM (build 16.0-b13, mixed mode)

to vyhodi

java.lang.ClassCastException: java.util.HashMap cannot be cast to
cz.prins.tiger.db.Employee

Jen by mne zajimalo, ktere chovani je dobre? BTW. kdyz ten list
pretypuju na List<?>, tak to dopadne dobre vsude.


-- 
Ondra Medek

Odpovedet emailem