Merhaba Değerli Javacılar,
JDK7 kullanıyor ve buna ek olarak da Collections.sort metodunu kullanıyorsanız elinizde pimi çekilmiş bomba var demektir :D; çünkü JDK7 ile beraber sort metodu artık exception verebilir hale geldi ve beklemediğiniz anda ortaya çıkabilir. Eğer JKD5 JDK6 gibi versiyonlardan JDK7 ye geçtiyseniz ve
java.lang.IllegalArgumentException: Comparison method violates its general contract
hatasını alıyorsanız, yapmanız gereken şey sort işlemi için önceki versiyonlarda kullanılan algoritmayı aktif hale getirmek bunu da
java.util.Arrays.useLegacyMergeSort
özelliğini true yaparak sağlayabilirsiniz. Bunu yapmak için iki yöntem var. Birincisi kod içerisine
System.setProperty(“java.util.Arrays.useLegacyMergeSort”, “true”);
satırı eklemek. İkinci yöntem ise run parametresi olarak
-Djava.util.Arrays.useLegacyMergeSort=true
vermektir. Artık uygulamanız JDK7 içerisinde sort metodunu önceki versiyon algoritmalarını kullanarak çağıracaktır.
Bol Java’ lı günler dileğiyle…
Yazan: Faruk BOZAN