写点什么

JDK 7:java.util.Objects 中应该包含哪些常用方法呢?

  • 2009-09-14
  • 本文字数:580 字

    阅读完需:约 2 分钟

为了对即将到来的 JDK 7 新类 java.util.Objects 做准备,来自 Sun 的 Joe Darcy 向 OpenJDK core-libs-dev 团队咨询该类中应该包含哪些方法。借此机会,InfoQ 向广大的 Java 社区征求意见。

在最初的提案中,Darcy 谈到了该类中需要包含的几个方法:

  • 一个空安全(null-safe)的 equals(arg1, arg2) 方法,如果两个参数都为 null 返回 true,如果只有一个为 null 返回 false,其他情况则调用 arg1.equals(arg2)
  • 一套针对所有原生类型(int、long 等)的 compareTo(arg1, arg2) 方法

Andrew John Hughes 也给出了自己的一些看法

  • toString(arg),通过反射将对象中的所有属性都写到返回的输出字符串中
  • 对 clone() 方法的一个辅助实现

Martin Buchholz 还提出一个空安全的 hashCode() 实现,对于值为 null 的对象该方法返回 0。

Stephen Colebourne 专门为该类创建了一个长长的推荐方法列表,这些方法大多都是从 Apache Commons Lang 程序库中摘取出来的。比如:

  • min(comparable1, comparable2) 与 max(comparable1, comparable2),这两个方法都是空安全的方法,返回最小 / 最大的非空对象(如果两个参数都为 null 则返回 null)
  • defaultNull(obj, defaultValue),如果 obj 为 null 则返回 defaultValue 对象

您有什么高见呢?java.util.Objects 中应该包含哪些方法呢?

查看英文原文: JDK 7: What Frequently Rewritten Methods Should be Included in java.util.Objects?

2009-09-14 23:012663
用户头像

发布了 88 篇内容, 共 274.0 次阅读, 收获喜欢 9 次。

关注

评论

发布
暂无评论
发现更多内容

2022-11-15:这里有 n 个航班,它们分别从 1 到 n 进行编号。 有一份航班预订表 bookings , 表中第 i 条预订记录 bookings[i] = [firsti, lasti,

福大大架构师每日一题

算法 rust 福大大

简单组合逻辑电路

芯动大师

Verilog LED数码管 11月月更

Docker Compose快速部署多容器服务实战

闫同学

Docker 容器 11月月更

通宵整理的react面试题并附上自己的答案

beifeng1996

React

教学:制作 GitHub 同步近期博客卡片

小鑫同学

前端 Github' 11月月更

【愚公系列】2022年11月 微信小程序-app.json配置属性之requiredBackgroundModes

愚公搬代码

11月月更

网络安全之命令执行漏洞复现

网络安全学海

黑客 网络安全 信息安全 渗透测试 漏洞挖掘

JS in CSS:一键支持响应式布局

iofod jude

前端 后端 低代码 iofod

React源码分析2-深入理解fiber

goClient1992

React

主成分分析PCA与奇异值分解SVD-降维的实现方法

烧灯续昼2002

Python 机器学习 算法 sklearn 11月月更

分布式系统设计之常见的负载均衡算法

闫同学

负载均衡 11月月更 分布式系统设计

IO原理(二):多路复用

苏格拉格拉

reactor nio epoll IO多路复用 IO模型

自制操作系统日记(6):静态桌面初步

操作系统

数据指标体系搭建步骤

穿过生命散发芬芳

11月月更 数据指标体系

面试官:说说React-SSR的原理

beifeng1996

React

拿到大厂前端offer的前端开发是怎么回答面试题的

loveX001

JavaScript

前端面试中小型公司都考些什么

loveX001

JavaScript

当前API安全产品现状

阿泽🧸

API 11月月更

Go易错集锦、优秀开源包、实战案例合集

Go学堂

Go 内容合集 签约计划第二季 技术专题合集

React源码分析3-render阶段(穿插scheduler和reconciler)

goClient1992

React

80%的前端开发都答不上来的js异步面试题

loveX001

JavaScript

22道js输出顺序问题,你能做出几道

loveX001

JavaScript

更快更稳更易用: Flink 自适应批处理能力演进

Apache Flink

大数据 flink

一个程序员眼中的裁员潮

HoneyMoose

React源码分析4-深度理解diff算法

goClient1992

React

面试官:你是怎样进行react组件代码复用的

beifeng1996

React

前端二面react面试题(附答案)

beifeng1996

React

kubernetes下的jenkins如何设置maven

程序员欣宸

maven jenkins 11月月更

算法题学习---两个链表的第一个公共结点

桑榆

算法题 11月月更

裁员潮血洗硅谷是坏事还是好事

HoneyMoose

官宣|Apache Flink 1.16 发布公告

Apache Flink

JDK 7:java.util.Objects中应该包含哪些常用方法呢?_Java_Ryan Slobojan_InfoQ精选文章