Martin Kuba napsal(a):
> To je zajímavé, na Linuxu to v kódu je - ten řádek 22 s checkcast:

Tak jsem si přečetl specifikaci na 
http://java.sun.com/docs/books/jls/third_edition/html/statements.html#259170
a myslím, že na Linuxu je to špatně. Specifikace totiž říká jasně, že

        for (Object object : list) {

        }

se má rozepsat jako

        for(Iterator<Employee> i = list.iterator();i.hasNext();) {
            Object object = i.next();
        }

ale když obě varianty přeložím a podívám se na vygenerovaný bytekód,
tak se liší práve o ten checkcast. Takže překladač rozepíše takto:

        for(Iterator<Employee> i = list.iterator();i.hasNext();) {
            Object object = (Employee) i.next();
        }

což neodpovídá specifikaci.

Makub
-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Supercomputing Center Brno             Martin Kuba
Institute of Computer Science    email: ma...@ics.muni.cz
Masaryk University             http://www.ics.muni.cz/~makub/
Botanicka 68a, 60200 Brno, CZ     mobil: +420-603-533775
--------------------------------------------------------------

Odpovedet emailem