使用compareTo來比較字符串的數字不按計劃工作,我該如何解決這個問題?
因此,我試圖讓它通過使用2d字符串數組的第二列來從最高值到最低值排列此列表。
通過在網上尋找答案似乎很簡單,我只需要做我自己的比較。
看起來像這樣的代碼
Arrays.sort(stockPriceAndNameSorted, new Comparator<String[]>() {
@Override
public int compare(final String[] entry1, final String[] entry2) {
return entry1[1].compareTo(entry2[1]);
}
});
但是,正如你可以看到它是不是被責令,因爲它應該,例如,如果我給它的值,1,2,3,4,5它工作正常。然後將其更改爲1,11,3,4,5,但它不會按照原樣運行。
它按字母順序排列,這是有道理的字符串進行排序。你應該使用一個數字而不是一個字符串來表示你想要的內容...... – assylias
但是你不能在java中使用一個帶有String和int的2d數組,而不使用無法排序的對象。 –
然後創建一個封裝字符串和int的類... – assylias