本文介绍了为什么 Java 类应该实现可比性?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
为什么使用 Java Comparable
?为什么有人要在类中实现 Comparable
?您需要实施可比性的真实示例是什么?
Why is Java Comparable
used? Why would someone implement Comparable
in a class? What is a real life example where you need to implement comparable?
推荐答案
这是一个真实的示例.请注意,String
也实现了 Comparable
.
Here is a real life sample. Note that String
also implements Comparable
.
class Author implements Comparable<Author>{
String firstName;
String lastName;
@Override
public int compareTo(Author other){
// compareTo should return < 0 if this is supposed to be
// less than other, > 0 if this is supposed to be greater than
// other and 0 if they are supposed to be equal
int last = this.lastName.compareTo(other.lastName);
return last == 0 ? this.firstName.compareTo(other.firstName) : last;
}
}
稍后..
/**
* List the authors. Sort them by name so it will look good.
*/
public List<Author> listAuthors(){
List<Author> authors = readAuthorsFromFileOrSomething();
Collections.sort(authors);
return authors;
}
/**
* List unique authors. Sort them by name so it will look good.
*/
public SortedSet<Author> listUniqueAuthors(){
List<Author> authors = readAuthorsFromFileOrSomething();
return new TreeSet<Author>(authors);
}
这篇关于为什么 Java 类应该实现可比性?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!