对于代码:
Set<Phone> set = new TreeSet<>();
set.add(new Phone("Harry"));
Run Code Online (Sandbox Code Playgroud)
我得到错误:
电话不能转换为java.base / java.lang.Comparable
如果引用变量是类型,为什么Phone必须实现Comparable Set?
如果引用变量是TreeSet,则当然Phone必须实现class Comparable。
我对Java中的重载方法有误解.
这些是否过载?
public String eJava(int age, String name, double duration);float eJava(double name, String age, byte duration);在我写的测试中答案是肯定的.但我不这么认为.理由:让我们举一个方法论证的例子:eJava(111,"word",222);
正如我所知,这些参数可以传递给两种方法.因为111可以被double和int接受,所以String接受"word",而byte或double可以接受222.所以我认为正确的答案是"编译错误".
好的,这些方法有不同的返回类型,但这并不重要.
我究竟做错了什么?谢谢