写点什么

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:012536
用户头像

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

关注

评论

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

4.《重学 JAVA》—基础语法

杨鹏Geek

Java 25 周年 28天写作 12月日更

架构实战营模块九作业

Geek_d18264

架构实战营

关于研发效能推进提升的一点感受

homber

DevOps 研发效能 签约计划第二季

搭建基本Jest测试框架,解读覆盖率实现原理

梁龙先森

签约计划第二季

Go并不需要Java风格的GC

Robert Lu

Go 垃圾回收

JavaScript 数据结构之 Map

devpoint

set map ES6 内容合集 签约计划第二季

音视频实战(3)- Mac 系统 MediaInfo 多实例媒体信息分析

liuzhen007

签约计划第二季

架构实战营,第一周作业

Jude

架构实战营

什么是QA

homber

QA 测试开发 职场新人 签约计划第二季

勿拖延

Nydia

音视频理论(2)- 音视频传输协议之 RTMP

liuzhen007

签约计划第二季

JavaScript 数据结构之 Set

devpoint

set ES6 内容合集 签约计划第二季

音视频实战(4)- 常见流媒体服务器方案对比分析

liuzhen007

签约计划第二季

从一个乙方视角聊聊敏捷项目

Bruce Talk

Scrum 敏捷 随笔 Agile

idea-如何解决代码合并冲突?

Java个体户

IDEA

Prometheus Exporter (十七)JMX Exporter

耳东@Erdong

JMX Prometheus 28天写作 exporter 12月日更

netty系列之:手持framecodec神器,创建多路复用http2客户端

程序那些事

Netty HTTP 程序那些事 http2 12月日更

音视频实战(2)- 如何在网页端给视频添加硬水印

liuzhen007

签约计划第二季

如何通过Kubernetes事件来报告错误

Robert Lu

#Kubernetes#

Camtasia添加光标效果教程

淋雨

Camtasia

http协议

en

HTTP

JavaScript 数据结构之 Number

devpoint

ES6 math 内容合集 签约计划第二季

斯诺克

Tiger

28天写作

实用机器学习笔记四:数据标注

打工人!

机器学习 学习笔记 12月日更 实用机器学习

华为中国大学生ICT大赛2021实践赛网络赛道晋级赛试题解析(答案版)

小韩

华为 网络 ICT

架构实战营毕业总结

Geek_d18264

架构实战营

从0到1普及前端知识 | 内容合集

你好bk

内容合集 签约计划第二季

JavaScript 数据结构之 Object

devpoint

ES6 Object 内容合集 签约计划第二季

.NET 6新东西--PeriodicTimer

喵叔

28天写作 12月日更

左耳听风,右手敲码

homber

成长 感悟 竞争力 签约计划第二季

JavaScript数据结构实用集

devpoint

JavaScript 数据结构 内容合集 签约计划第二季

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