https://edu.csdn.net/skill/java/java-4dc2b8d29131460cbcc5bd4e3991ecde?category=468&typeId=19766#Comparable_39
这个关于treeset的教程里面编写自定义类继承Comparable接口实现这个例子里面Compareto方法
int nameComp = this.getName().compareTo(o.getName();
int ageComp = this.getAge() - o.getAge();
这里的getName和getAge每次比较是比较哪两个我想不明白
tree.forEach(System.out::println);
这一句的语法结构我也不明白为什么有两个冒号
实现输出0 -3 -14 -11的程序流程是怎样的?
麻烦用文字或者图示解答一下,谢谢。
this是当前类的意思,比较的是当前对象和参数对象o之间属性值的大小。
两个冒号是语法问题,规定这么用的。
双冒号运算操作符是类方法的句柄,lambda 表达式的一种简写,这种简写的学名叫 eta-conversion 或者叫 η-conversion。
把 x -> System.out.println(x) 简化为 System.out::println 的过程称之为eta-conversion;
getName和getAge前面都有实例名啊,咋想不明白呢?
this就是当前类对象,o就是函数参数中的传入对象
两个冒号用来指定域,即println是system.out域内的函数,避免二义性
这个程序是怎么实现四次输出 0 -3 -14 -11的?
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!a.compareTo(b)
就是比较a和b呀,这有什么想不明白的