Java新手。在Android应用程序上工作时进行学习。我正在实现一个Comparator来对文件列表进行排序,而android docs 说一个Comparator应该实现Serializable:
建议比较器实现可序列化。
这是这里的Serializable接口。
我只想对文件列表进行排序。我为什么要实施此方法,或者为什么对任何比较器都应采用该方法?
这不仅是Android的事情,Java SDK也有相同的建议:
注意:比较器通常也可以实现java.io.Serializable,这是一个好主意,因为它们可用作可序列化数据结构(如TreeSet,TreeMap)中的排序方法。为了使数据结构成功序列化,比较器(如果提供)必须实现Serializable。
因此,想法是因为TreeMap可序列化,并且TreeMap可以包含Comparator,所以如果Comparator也可序列化将是很好的。集合中的所有元素也是如此。
您可以放心地忽略它,除非您以这种方式使用序列化。