java.lang.IllegalArgumentException: Comparison method violates its general contract

java.lang.IllegalArgumentException: Comparison method violates its general contract

1279 Görüntülenme
0
0

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

Yorum Yap

Kategoriler