用java编写,声明实现Comparble<T>接口,提供按照账户余额比较账户大小的方法,使用Comparator<T>接口声明比较器类CompareName,按照账户名比较账户大小,编写main方法测试相应的接口实现方法。
时间: 2023-07-18 09:34:53 浏览: 87
java代码-java实现比较大小
好的,我理解了你的问题。下面是Java代码的实现:
```
import java.util.Comparator;
// 账户类实现Comparable接口
class Account implements Comparable<Account> {
private String name;
private double balance;
public Account(String name, double balance) {
this.name = name;
this.balance = balance;
}
public String getName() {
return name;
}
public double getBalance() {
return balance;
}
// 按照账户余额比较账户大小的方法
@Override
public int compareTo(Account o) {
if (this.balance > o.balance) {
return 1;
} else if (this.balance < o.balance) {
return -1;
} else {
return 0;
}
}
}
// 比较器类CompareName,按照账户名比较账户大小
class CompareName implements Comparator<Account> {
@Override
public int compare(Account o1, Account o2) {
return o1.getName().compareTo(o2.getName());
}
}
// 测试代码
public class Main {
public static void main(String[] args) {
Account account1 = new Account("Tom", 1000);
Account account2 = new Account("Jerry", 2000);
// 测试按照账户余额比较账户大小的方法
System.out.println(account1.compareTo(account2)); // -1
// 测试按照账户名比较账户大小的方法
CompareName compareName = new CompareName();
System.out.println(compareName.compare(account1, account2)); // -1
}
}
```
在这里,我们定义了一个 `Account` 类来表示账户,它实现了 `Comparable` 接口来提供按照账户余额比较账户大小的方法。然后,我们定义一个 `CompareName` 比较器类来按照账户名比较账户大小。最后,在 `Main` 类中,我们可以测试这两个方法。
阅读全文