【进阶】-Java Objects

路飞
路飞
路飞
43
文章
13
评论
2018年10月15日10:53:44 评论 536 774字阅读2分34秒

Objects由来

Java Objects类是Java 7中引入的实用程序类,在Java 8中进行了扩展,以提供一组静态方法来帮助操作Java对象。 它具有null-safenull-tolerant方法,用于计算对象的哈希码,返回对象的字符串,比较两个对象,null检查等。

根据Brian Goetz(Oracle的Java语言架构师)的说法,它的功能也被引入到该语言的核心中,因此在将来的几年里,Objects类有可能变得更受欢迎。

Objects使用

下面我们将探索如何使用Objects类。

检查参数是否为空

  1. 经常地,我们经常有针对参数进行null强制测试的方法或构造函数,并在它们为null时抛出异常:
  2. 对于Java Objects,相同的行为被编码在一行中,如下所示,它将检查bar是否为null并抛出NullPointerException
  3. 您还可以使用方法的重载版本来提供其他信息,例如异常消息:
  4. 如果有必要的话,可以额外的指定异常信息的提供者:

对象比较是否相等

  1. 如果有两个对象要使用Object.equals(Object)进行相等性比较,则需要在比较之前检查第一个参数是否为null
  2. 但是,使用Objects.equals(Object,Object)可以摆脱空检查。 下面的代码产生与前一个相同的输出:

安全地调用Object.toString()

  1. 有时想调用Object.toString()方法打印Object的字符串表示形式。例如: 想要在发生异常后将对象的状态打印到日志文件中:
  2. 如果foo为null的话NullPointerException必然被抛出,所以要保证代码的安全,应该改写为:
  3. 上面的代码有点冗长,我们可以使用Objects.toString(Object)使其更简单:
  4. 同样地,如果foo为null,可以使用其重载版本提供要打印的默认消息:
weinxin
微信公众号
分享IT信息技术、北海生活的网站。提供北海本地化的信息技术服务。
路飞
  • 本文由 发表于 2018年10月15日10:53:44
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
Java库之Lombok的妙用 JAVA编程

Java库之Lombok的妙用

Lombok是目前比较流行的Java库,Lombok能以简单的注解形式来简化Java代码,提高开发人员的开发效率,免去额外的getter或equals等方法,降低由于修改引起的维护成本,Lombok在...
【进阶】-Java读写文件锁 JAVA编程

【进阶】-Java读写文件锁

众所周知,Java中锁的概念是非常重要的,锁可以保证资源的安全可控,恰当使用锁即可使得资源高效利用,又能保证线程的安全访问,编程中在读取文件的时候常常碰到文件锁的使用,本文简单阐述文件锁在Java中的...
【基础】-Java访问控制 JAVA编程

【基础】-Java访问控制

访问控制 访问级别修饰符的作用是确定其他类是否可以使用特定字段或调用特定方法。 访问控制有两个级别: 在顶层级别 - public或package-private。 在成员级别 - public,pr...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: