我有这个练习:
import java.util.*;
public class TestClass {
public static void main(String[] args) {
// put declaration here
m.put("1", new ArrayList()); //1
m.put(1, new Object()); //2
m.put(1.0, "Hello"); //3
System.out.println(m);
}
}
这个问题:如何声明'm'以便上面的代码可以正确编译并运行?
我的答案是:
Map m = new HashMap();
Map m = new TreeMap();
第一个是对的。第二个错误是这种解释:
这将在运行时引发异常,因为TreeMap的键必须相互可比较。在这里,String,Integer和Double不能相互比较。
这是我的两个问题:
“相互可比”是什么意思?
String,Integer和Double实现Comparable接口,那么为什么它们不能相互比较?
非常感谢!
A。