每一個可以努力的日子,都是一份厚禮。
Java
compareTo方法出現“無法取消引用”的錯誤
2009 9月 4th
今天在寫一個類型時,需要覆寫compare方法,源代碼如下:
1 2 3 4 5 6 | public int compare(Object arg0, Object arg1){ Student stu0 = (Student)arg0; Student stu1 = (Student)arg1; int flag = stu0.TotalScore.compareTo(stu1.TotalScore); return flag; } |
編譯的時候,出現了”無法取消引用”的錯誤,經檢查,發現原來是一個低級的錯誤,compareTo的方式是對象的方法,而我直接用的是基本數據類型(即代碼中的TotalScore,定義為double類型),將其封裝到對象中即可解決問題。
1 2 3 4 5 6 | public int compare(Object arg0, Object arg1){ Student stu0 = (Student)arg0; Student stu1 = (Student)arg1; int flag = (Double.valueOf(stu0.getTotalScore())).compareTo(Double.valueOf(stu1.getTotalScore())); return flag; } |