对象-java中compareTo函数可以在同一个类中重写多次吗?

问题描述

java中compareTo函数可以在同一个类中重写多次吗?

我有一个对象数组,想按照不同属性对这个数组进行排序。但是如果重写compareTo函数的话好像只能按照某一个属性进行排序。现在我既想按照年龄又想按照分数排序,那应该怎么写呢?

解决方案

不行,一个Comparable对应一种顺序标准,你这样按年龄又按分数,明显是两个定制顺序,结果自然是两种。建议要么合成一个逻辑;要么用两个集合来存放。

时间: 2024-11-01 19:05:12

对象-java中compareTo函数可以在同一个类中重写多次吗?的相关文章

c++ 类和对象-【C++】写在构造函数里的变量能够被同一个类中其他成员访问吗?为什么?

问题描述 [C++]写在构造函数里的变量能够被同一个类中其他成员访问吗?为什么? class rational { private: long denom,den; //denom为分子,den为分母 double a; public: rational(int n, int m) { denom=n; den=m;a=(double)denom/(double)den; //比如这里构造函数里的a能被其他成员函数访问吗?为什么? } int operator<(rational r) cons

lua 环境隔离问题(同一份代码对象的多份拷贝,在同一个虚拟机中运行冲突问题)

问题描述 lua 环境隔离问题(同一份代码对象的多份拷贝,在同一个虚拟机中运行冲突问题) 1C 问大家一个问题,我有个lua工程,里面有很多的全局变量,现在需要在同一个lua虚拟机内,同时执行多个工程的代码,有没有什么好的解决方案,能将各个工程环境隔离

方法重载必须在同一个类中吗?

问题描述 classA{publicvoidtt(){}}classB{publicinttt(intnum){}}这样重载从A中继承的方法算不算是在同一个类中呢?? 解决方案 解决方案二:是的,方法的重载必须是要在同一个类中,而且方法名相同,参数列表不同,如果写成classBextendsA{publicvoidtt(){}}这样是方法的重构了,楼主那样写不是重载也不是重构.解决方案三:方法的重载包括:一.方法名称相同,参数类型不同:二.方法名称相同,参数个数不同,如果在一个两个没有关系的类中

java-Java中在同一个类中把一个方法中的数组元素传到另一个方法中,怎么传啊?麻烦大家说一下,谢谢了!

问题描述 Java中在同一个类中把一个方法中的数组元素传到另一个方法中,怎么传啊?麻烦大家说一下,谢谢了! Java中在同一个类中把一个方法中的数组元素传到另一个方法中,怎么传啊?麻烦大家说一下,谢谢了! 麻烦大家了 解决方案 直接作为参数传就是了 void f1() { int[] x = {1,2,3,4,5}; f2(x[1]); } void f2(int n) { } 解决方案二: Spring AOP代理机制以及方法调用在同一个类的另一个方法的问题 解决方案三: 可以使用全局变量的方

hibernate 同一个类中多对一,一对多,不会用,请指教,讲解一下,最好是告诉我如何遍历

问题描述 <p>hibernate 同一个类中多对一,一对多,不会用,请指教,讲解一下,最好是告诉我如何遍历userlist = userService.searchAll();这个结果集的容器的内容,用System.out.println(userlist);输出的是[com.test.bean.User@1ee5806, com.test.bean.User@708d23, com.test.bean.User@12bc86d, com.test.bean.User@1738d88, co

电脑无法查看局域网中其他电脑 也在同一个工作组中 但是无法查看其他局域网中其他的电脑

问题描述 电脑无法查看局域网中其他电脑 也在同一个工作组中 但是无法查看其他局域网中其他的电脑 电脑无法查看局域网中其他电脑 也在同一个工作组中 但是无法查看其他局域网中其他的电脑 解决方案 把防火墙杀毒软件之类的都关闭试下

jsp-怎么样把action中同一个类中不同的方法数据,有区分的显示在JSP页面中

问题描述 怎么样把action中同一个类中不同的方法数据,有区分的显示在JSP页面中 action中代码: Article articleNext=articleService.getNext(article); Article articlePrev=articleService.getPrev(article); getActionContext().put("nextArticle", articleNext); getActionContext().put("prev

在MFC单文档程序中,如何在子对话框类中访问视类中的一个变量?

问题描述 在MFC单文档程序中,如何在子对话框类中访问视类中的一个变量? 如题,小弟最近遇到一个问题,新建一个单文档程序,并在其中引入对话框资源.我想在视类的OnDraw()函数中通过响应视类的一个变量的变化来改变视类窗口中图形的状态,而该视类变量的变化是由对话框中的一个控件控制的,这个控件是由旋钮控件和编辑控件捆绑而成的.在网上看了一些资料,试了其中的一些方法,都没能成功.论坛中高手众多,想请热心的高手们给个解决方法,在此先谢过了!能给个相似的例子的更好! 解决方案 要么你把那个变量定义成静态

restlet-在基于spring的REST服务 中如何让每一个资源类中的 每个资源方法都有一个URL呢?

问题描述 在基于spring的REST服务 中如何让每一个资源类中的 每个资源方法都有一个URL呢? 如 在这一篇 博文中 http://my.oschina.net/jiyayun/blog/146446 每一个资源类中都只有一个 方法可用.如果我在一个资源类中有多个 资源方法应该怎么弄呢?求大神帮忙,谢谢了. 解决方案 因为每个类对应一个url如果是每个方法,那么就冲突了.你可以用代码生成器产生代理类,每个类对应一个原始类的方法来解决这个问题.