jdk8——你可能错过的java7特性

java8发布以来,对于jdk7的一些常用特性有点忽略,今天就列举一下jdk7中一些常用的方法:


1、实现equalshashCodecompareTo方法

a、安全的null值相等测试

java7之后,提供了Objectsequals(a,b)方法,如果ab都是null,返回true;如果只有其中一个为null,返回false;其他情况返回a.equals(b)。从使用习惯和代码的规范性上讲,应该讲之前使用的a.equals(b)的地方更改为这种方式。

b、计算哈希码

对于nullObjects.hashCode方法会返回0java7中引入的可变参数方法Objects.hash允许你指定任意个对象,并且它们的哈希码会被自动组合起来。

c、比较数值类型对象

当通过比较器来比较整型值时,因为允许返回任意负值或正值,所以它会试图返回二者之间相差的大小,但是实际上只需要知道符号就足够了。

java7之后,可以使用静态方法Integer.compare来实现。过去,有开发人员会用new Integer(x).compareTo(other.x)的方式,但是这会创建两个会自动装箱/拆箱的整型对象。相比之下,静态方法compare使用的是int参数。此外,LongShortByteBoolean也都提供了各自的静态方法compare。如果你需要比较两个字符型值(char),可以直接将它们相减,结果不会溢出。DoubleFloat中的静态方法comparejava1.2开始就存在了。

 

2、全局Logger

为了鼓励在一些简单的程序中使用日志框架,Logger类现在提供了一个全局的Logger实例。因为它为了尽可能的简化使用,所以你可以在任何时候都使用Logger.global.finest("x=" + x);来代替System.out.println("x" + x);

java7中提供了一直更简单的形式——Logger.getGlobal()


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值