一尘不染

比较器为什么要实现可序列化?

java

Java新手。在Android应用程序上工作时进行学习。我正在实现一个Comparator来对文件列表进行排序,而android docs
一个Comparator应该实现Serializable:

建议比较器实现可序列化。

这是这里的Serializable接口。

我只想对文件列表进行排序。我为什么要实施此方法,或者为什么对任何比较器都应采用该方法?


阅读 307

收藏
2020-12-03

共1个答案

一尘不染

这不仅是Android的事情,Java
SDK也有相同的建议

注意:比较器通常也可以实现java.io.Serializable,这是一个好主意,因为它们可用作可序列化数据结构(如TreeSet,TreeMap)中的排序方法。为了使数据结构成功序列化,比较器(如果提供)必须实现Serializable。

因此,想法是因为TreeMap可序列化,并且TreeMap可以包含Comparator,所以如果Comparator也可序列化将是很好的。集合中的所有元素也是如此。

您可以放心地忽略它,除非您以这种方式使用序列化。

2020-12-03