Přeskočit na hlavní obsah

Příspěvky

Zobrazují se příspěvky z červen, 2012

Write once, run everywhere! Ale jen ocuť pocuť.

Dneska jsem zkoumal, proč nám některé testy pracují správně s Oracle Javou (1.6), ale pod IBM Javičkou padají. A výsledek mého bádání mě ohromil. Člověk by doufal, že alespoň třídy v balíku java.lang budou implementovány obdobně. A prdlajz! Náš problém má původ v rozdílné implementaci metody Class.getMethods(), která toho občas u IBM vrátí o něco více než u Oraclu. Nejsem si zatím jistý, která implementace odpovídá JLS lépe, ale do dneška jsem předpokládal, že kvůli takovýmto problémům existuje TCK. Chcete-li si problém vyzkoušet sami, zde je kód: /** * This class is a reproducer for different results returned from Oracle and IBM Class.getMethod() call. * * @author Josef Cacek */ public class GetMethodsProblemReproducer { // Public methods -------------------------------------------------------- /** * Main method. */ public static void main(String[] args) { System.out.println("Java: " + System.getProperty("java.version") + &…