這可能聽起來像重新創建輪子,但我試圖實現一個地圖(如Map<K,V>
)。該類有一個叫做sortedKey()
的函數,它返回一個ArrayList<K>
我的代碼的精簡版本如下。我已經包括了我的嘗試,作爲評論內聯調試。通用返回類型Javac錯誤
import java.util.ArrayList;
import java.util.Collections;
public class Map<K,V> {
private ArrayList<Pair<K,V> > array; //Pair<K,V> is a class defined in another file.
//returns an ArrayList(of proper type) of keys (ie, the desired function)
public ArrayList<K> sortedKeys(){
ArrayList<K> ret = keys(); //another method defined inside same class
K s = ""; // error: no suitable method found for sort(ArrayList<K>)
Collections.sort(new ArrayList<String>()); //Works just fine..
Collections.sort(ret); //Same error here..
return ret;
}
}
任何想法爲什麼這個錯誤顯示?根據用於創建類的類型變量,我是否可以不使用通用返回類型?還是我必須做其他事情才能達到預期的效果?
感謝和道歉,如果這個問題已經被問
接cajetan
這條線真的是要說'K s =「」;'?這看起來是錯誤的,特別是在註釋中的錯誤不匹配(即提到'sort'調用)。 –