看板 java 關於我們 聯絡資訊
因為推文我放上code
eieio:應該是別的地方有錯,補一下你怎麼放 new NNQE 和放進 queue 03/15 10:35
這是Comparator宣告 public static class NNQECompare implements Comparator<NNQE>{ public int compare(NNQE N1, NNQE N2){ if(N1.distance>N2.distance) return 1; if(N1.distance<N2.distance) return -1; return 0; } } 這是使用的地方 Priority.clear(); for(DataCache curB: Cache){ if(curB.ObjectCount != 0){ for(int j = 0; j < curB.ObjectCount ; j++){ t = new SpaceObject(curB.Items[j].x,curB.Items[j].y,curB.Items[j].id); discompute=DisComputing(QItem, t); if(discompute > RegionRadius) continue; else Priority.add(new NNQE(t, discompute)); } } } 以下是NNQE的class public class NNQE { public double distance; public SpaceObject element; public NNQElement(SpaceObject O, double d) { element = O; distance = d; } public double getdis(){ return distance; } } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.117.177.98 ※ 編輯: olys 來自: 140.117.177.98 (03/15 12:49)
olys:感謝eieio!public int compare前加個@Override就正常了! 03/15 13:36
LaPass:原來是漏掉@Override..... 這個ide都沒顯示嗎? = = 03/15 13:45
olys:我是用Eclipse, 不過java不會自動override嗎? 03/15 13:47
LaPass:印象中會.... 03/15 13:49
eieio:真神奇,我說加 @Override 只是讓 compiler 檢查一下 03/15 14:15
eieio:寫對的話有沒有加 @Override 印象中都沒有差 @@ 03/15 14:17
Killercat:JDK 1.5 or 1.6? 03/15 15:10
olys:1.6 @@ 03/15 15:21
Killercat:那真費解 XD 03/15 15:30