NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

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

关注

评论

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

机器学习·笔记之:Inverse and Transpose

Nydia

2 期架构师训练营 - 第六周作业与总结

云飞扬

架构师训练营第2期

最新版gradle安装使用简介

程序那些事

Gradle 程序那些事 构建工具 build 打包工具

【LeetCode】盒子中小球的最大数量

Albert

算法 LeetCode 2月春节不断更

5G花式过年指南

脑极体

【Python】给PDF添加水印

AXYZdong

Python 2月春节不断更

大作业(二)

bing5tui3

架构师训练营第2期

Linux Lab 进阶: Rootfs 文件系统 &Linux 与 Uboot 调试

贾献华

Linux Linux Kenel rootfs uboot usb

Java函数式编程Stream.collect()为什么这么受欢迎?

码农架构

Java 架构 函数式编程

话题讨论 | 新年将至, 程序员如何以代码送出新春祝福

孙叫兽

Java 程序员 大前端 话题讨论 新春祝福

2 期架构师训练营 - 第三周学习总结

云飞扬

架构师训练营第2期

驱动力读书笔记之五

张老蔫

28天写作

sql注入竟然把我们的系统搞挂了,怎么办?

苏三说技术

java安全

kafka的实现原理

八两

kafka Kafka知识点 kafka实现原理 kafka架构

注册中心 Nacos 异常实例需要30s才能剔除 Nacos心跳时间设置(踩坑)

laker

Spring Cloud nacos spring cloud alibaba

日记 2021年2月7日(周日)

Changing Lin

个人感悟 2月春节不断更

尝试从用户的角度思考(PO的姿势)

Bruce Talk

Scrum 敏捷开发 Agile Product Owner

停车、投票、领证,区块链如何在「智慧城市」建设中大显身手?

CECBC

区块链

大作业(一)

bing5tui3

极客时间架构师二期

百度大脑 EasyEdge 推出端云协同服务,大幅提升本地部署模型迭代效率

百度大脑

百度大脑 EasyData 智能数据服务平台上线文本数据清洗功能

百度大脑

2 期架构师训练营 - 第七周作业与总结

云飞扬

架构师训练营第2期

2 期架构师训练营 - 第八周作业与总结

云飞扬

架构师训练营第2期

《未来呼啸而来》- 技术改变生活

石云升

2月春节不断更 技术改变生活 未来呼啸而来

第十一周 安全稳定 作业 「架构师训练营 3 期」

胡云飞

2 期架构师训练营 - 第四周作业与总结

云飞扬

架构师训练营第2期

阅读笔记:Python A-Z 技巧

小匚

Python 读书笔记 日常思考

杜绝“萝卜章”风险,区块链电子签章助力企业降本“保真”

CECBC

电子签名

如何在数据库中进行RBAC权限应用

BinTools图尔兹

数据库 权限管理 数据管理 rbac

2 期架构师训练营 - 第九周作业与总结

云飞扬

架构师训练营第2期

浪潮云洲:从工业互联网实践想开去

浪潮云

工业互联网

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