Java 公共类<;通用类型>;实现可比性
我有一个公共类帐户,我想用comparable实现,我的问题如下: 我怎样才能使余额最低的账户在我的比较中是“最小的”Java 公共类<;通用类型>;实现可比性,java,comparable,compareto,implements,Java,Comparable,Compareto,Implements,我有一个公共类帐户,我想用comparable实现,我的问题如下: 我怎样才能使余额最低的账户在我的比较中是“最小的” public class Account implements Comparable<Account>{ private double balance; private String acctNum; public Account(String number, double initBal){ balance = initBal;
public class Account implements Comparable<Account>{
private double balance;
private String acctNum;
public Account(String number, double initBal){
balance = initBal;
acctNum = number;
}
public double getBalance(){
return balance;
}
.....
public int compareTo(Account other) {
????????
}
公共类账户实现可比性{
私人双平衡;
私有字符串帐户;
公共帐户(字符串编号,双初始值){
余额=初始余额;
acctNum=数量;
}
公共双getBalance(){
收益余额;
}
.....
公共int比较(其他科目){
????????
}
该方法必须返回:
- 负整数,如果该值小于其他值
- 如果此值等于其他值,则为零
- 如果该值大于或等于其他值,则为正整数
Double.MAX\u值
或Double.MIN\u值
,则仅执行返回this.balance-other.balance会产生无效结果,因此应使用:
该方法必须返回:
- 负整数,如果该值小于其他值
- 如果此值等于其他值,则为零
- 如果该值大于或等于其他值,则为正整数
如果值接近Double.MAX\u值
或Double.MIN\u值
,则仅执行返回this.balance-other.balance会产生无效结果,因此应使用:
最简单的实现方法是使用Double
作为balance
的类型,并简单地调用compareTo
方法:
return balance.compareTo(other);
我并不是说这是最好的,但这足以作为一个开始
请注意,处理null
s取决于您的实现。实现的最简单方法是使用Double
作为balance
的类型,只需调用compareTo
方法:
return balance.compareTo(other);
我并不是说这是最好的,但这足以作为一个开始
请注意,处理null
s由您来实现。您读过该方法吗?可能对您有帮助。您读过该方法吗?可能对您有帮助。这不会编译。这不是自动装箱的工作方式。@AndyTurner它说使用Double
。它不会编译,因为other
不是Double@PaulBoddington它不会编译,因为balance
是一个双精度,而不是双精度,你不能在双精度@上调用compareTo
,然后再次阅读完整的答案……这是一个奇怪的答案,但这不是问题所在。@PaulBoddington。这不会编译。这不是autobo的方式xing有效。@AndyTurner它说使用Double
。它不会编译,因为其他不是Double
@PaulBoddington它不会编译,因为balance
是Double
,而不是Double
,并且你不能在Double
上调用compareTo
。@AndyTurner阅读完整的answ呃……这是一个奇怪的答案,但这不是问题所在。@PaulBoddington。