50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

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

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

关注

评论

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

HTTP和HTTPS协议整理

赖猫

https HTTP

架构实战营模块二作业

宁静志远

架构实战营

设计消息队列存储消息数据的 MySQL 表格

thewangzl

架构实战营模块八:课后作业

唐江

架构实战营

Python 的上下文管理器是怎么设计的?

Python猫

Python

发布两小时,霸榜GitHub!Spring Boot实战文档

Java 程序员 面试

《持之以恒的从事运动》七

Changing Lin

7月日更

APISIX 网关--初识

陈靓-哲露

网关 APISIX

第八次作业

Geek_9cf7b5

彼得原理:我们迟早会不胜任自己的岗位?

石云升

职场经验 7月日更

模块二作业分析微信朋友圈高性能复杂度

kitten

微信朋友圈 模块二

网络攻防学习笔记 Day74

穿过生命散发芬芳

网络攻防 7月日更

架构实战营 模块八作业

夏日

架构实战营

看完四场卖房直播后,我读懂了“RARRA”增长模型的根本逻辑

脑极体

Ansible Playbook - 02

耳东@Erdong

ansible 7月日更 ansible Playbook

大数据训练营-作业1

talen

索引

卢卡多多

索引 7月日更

团队使用 Slack 技巧

郭旭东

远程办公 Slack

Why WebRTC|“浅入深出”的工作原理详解

声网

算法 音视频

拿来把你,挖掘实战之基本挖掘流程【建议收藏】

网络安全学海

黑客 网络安全 信息安全 渗透测试· 漏洞分析

【架构实战营】第 8模块作业

swordman

架构实战营

架构实战营模块8作业

Vic

架构实战营

B 站崩了,受害程序员聊聊

程序员鱼皮

架构 分布式 微服务 后端 服务器

种草社区小红书广告泛滥:数据正在剥夺了我们的消费选择权

石头IT视角

穿越数字化海浪,京东云舰护航千行百业抵达混合多云的彼岸

脑极体

【HikariCP技术专题】核心源码分析(为什么那么快?)

码界西柚

源码分析 7月日更 数据源连接池 HikraCP

Lua开发技巧-小表预填充

HelloBug

lua 开发技巧 小表预填充

Spark入门介绍与基础案例(二)

Databri_AI

spark 概念

浅谈大数据的过去、现在和未来

王知无

大数据方向另一个十年开启 |《硬刚系列》第一版完结

王知无

架构实战营模块 8

阿体

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