这可能听起来像重新创建轮子,但我试图实现一个地图(如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'调用)。 –