栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

参数字符串为null时,int compareTo()应该返回什么?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

参数字符串为null时,int compareTo()应该返回什么?

是的,允许

null
实例字段没有问题-
只要确保已定义其排序顺序即可。最自然的做法是将其放在所有真实字符串之前或之后,但是您可以在这里做任何事情,只要始终如一。(例如,您可以排序
null
"null"
。)

这是单个成员的示例实现:

class Example implements Comparable<Example> {   @Nullable   private String member;   // TODO: getter, setter, constructor, ...   public int compareTo(Example that) {      if(this.member == null)         if(that.member == null) return 0; //equal         else return -1; // null is before other strings       else // this.member != null         if(that.member == null) return 1;  // all other strings are after null         else return this.member.compareTo(that.member);   }}

请注意,Comparable.compareTo()的规范仅具有一个约束

o.compareTo(null)
(其行为应类似于
-null.compareTo(o)
,即抛出NullPointerException),而不涉及
null
字段的处理方式(它根本没有提及字段,因此类可以只要确保反对称性,自反性和可传递性,就可以返回任意值)。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/453741.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号