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

2024-03-13

Java 新手。在开发 Android 应用程序时学习它。我正在实现一个比较器来对文件列表和 android 文档进行排序say http://developer.android.com/reference/java/util/Comparator.html比较器应该实现可序列化:

建议比较器实现可串行化。

这是可序列化的接口here http://developer.android.com/reference/java/io/Serializable.html.

我只想对文件列表进行排序。为什么我应该实现这个或者它应该用于任何比较器的原因是什么?


这不仅仅是 Android 的事情,Java SDK有同样的推荐 http://docs.oracle.com/javase/6/docs/api/java/util/Comparator.html:

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

所以我们的想法是,因为 TreeMap 是可序列化的,并且 TreeMap 可以包含 Comparator,所以如果 Comparator 也是可序列化的,那就太好了。这同样适用于集合中的所有元素。

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么比较器应该实现可序列化? 的相关文章

随机推荐

  • 有没有办法暂停核心动画并在稍后恢复它?

    我有几个核心动画同时进行 它们都有一个上下文和一个动画 ID 其中上下文是正在动画的对象 UIImageView 对象 我想暂停它们 以便动画暂时停止 然后当某些事情完成时 恢复它以完成它 这些事情仅发生在 UIScrollView 中非常
  • 在 javascript 中启用/禁用 asp 验证控制

    我希望使用 JavaScript 启用 禁用我的验证控件 当我单击单选按钮列表 是 否 时 2 3 行变得可见 单击 是 后 用户必须在该行中提供的文本框中输入内容 为此 我保留了需要字段验证器 我在页面加载时禁用所有这些 然后使用 Val
  • Powershell:捕获无法启动服务时引发的异常

    我似乎无法捕获抛出的异常Start Service 这是我的代码 try start service SomeUnStartableService catch Microsoft PowerShell Commands ServiceCom
  • ASP.net 不使用其他区域设置资源文件

    我有一个Default aspx我获取本地化值的文件 默认 aspx
  • IgnoreMissingMember 设置似乎不适用于 FSharpLu.Json 反序列化器

    这是以下内容 F 中 json net 的反序列化问题 https stackoverflow com questions 62360805 deserialization issue with json net in f 我正在反序列化一
  • 在java中向下舍入0.5

    如何实现一个舍入函数 将除 0 5 或其任何奇数倍之外的所有数字照常舍入到最接近的整数 例如 2 899是要四舍五入到3 0 2 332是要向下舍入到2 0 2 5也将向下舍入为2 0 并不是3 0 您可以使用BigDecimal如下 pu
  • 如何检查数组列表中的数字是否连续

    我想检查数组列表中的数字是否是连续的 数组中的数字从 1 开始 下一个元素应该是 2 3 和 4 这意味着下一个元素比前一个元素大 1 public static void main String args ArrayList
  • react-hook-form 只以多级形式注册最后一步的表单数据

    我使用这个 css tricks 构建了一个多级表单article https css tricks com the magic of react based multi step forms 我正在尝试使用验证表单react hook f
  • 将图像从列表视图加载到下一个活动

    我在用Listview使用 json 解析器显示图像和数据 但是 当我单击其中一个列表项时 图像不会显示在下一个活动中 即详细活动中 我正在使用以下代码来显示图像 任何人都可以引导我走上正确的道路吗 任何帮助将不胜感激 Launching
  • 是否有与 Python pass 语句等效的 JavaScript 语句但不执行任何操作?

    我正在寻找与 Python 等效的 JavaScript pass不运行函数的语句 符号 JavaScript中有这样的东西吗 蟒蛇的pass主要存在是因为在 Python 中 块内的空格很重要 在 Javascript 中 相当于在块中不
  • Tess-2 OCR 不工作

    我试图在 Android 上使用 tess two 从图像中获取文本 但这给了我一个非常糟糕的结果 01 16 12 00 25 339 I Tesseract native 29038 Initialized Tesseract API
  • composer.lock 中的 shasum 是什么? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我想升级包框架 我修改了我的composer lock 但我不明白沙苏姆 dist type zip url http www packag
  • Spring Boot Rest 中的枚举作为请求参数

    我是 Spring Boot 新手 并尝试使用 Enum 作为休息请求的参数 这是我的枚举类 public enum Month JANUARY 1 january FEBRUARY 2 february MARCH 3 march APR
  • 使用 PagedList.mvc 时如何保持/保留在同一页面上

    我正在使用 PagedList Mvc 并且添加了一种在 mvc Web 应用程序中跨各个页面进行导航的好方法 但是 当我单击 编辑 或 详细信息 选项卡并保存更改时 我会返回到第一页 我想保留在进行更改的同一页面上 这是我在控制器中的代码
  • switch 语句条件中同时具有模板和非模板转换运算符的类

    问题最初出现在这个问题 https stackoverflow com questions 25046418 internal compiler error templated conversion operator in switch e
  • 确定 Java 中 TLS 握手的 Diffie-Hellman“参数”长度

    我想与服务器建立 HTTPS 连接 如果我使用 非临时DH密钥交换 我想知道参数是什么 用于该连接 事实上 我并不关心它是否 是否短暂 我正在寻找的是建立连接然后发出警告的能力 如果连接使用 弱 DH 参数 那是我吗 可以在连接时检查吗 或
  • Caliburn Micro Xamarin 的数据绑定操作顺序

    Caliburn Micro Xamarin Android Mono Android 中数据绑定的 操作顺序 OOP 是什么 PS 解释 比较 Caliburn Micro Standard WPF Caliburn Micro Andr
  • libpng 错误:不是 PNG 文件

    我曾多次尝试将 Android Studio 构建工具升级到 1 3 1 以上 但最终总是遇到此 libpng 错误 我通过完全删除 Maven 依赖项解决了其中一个错误 因为 gradle 控制台准确地指出了问题文件所在的位置 但现在我遇
  • 无需 IDE 即可学习 C++

    我最近开始学习 C 并且对 IDE 和编译器的选择感到完全困惑 我擅长解释性语言 并且喜欢使用任何 IDE 或文本编辑器然后从命令行运行解释器的简单性 无论使用什么 IDE 一切都会按我的预期进行 因为我每次都使用相同的解释器 现在我已经开
  • 为什么比较器应该实现可序列化?

    Java 新手 在开发 Android 应用程序时学习它 我正在实现一个比较器来对文件列表和 android 文档进行排序say http developer android com reference java util Comparat