compareto java float_Java,compareTo、compare方法的空指针异常的解析

// Double d1 = 0.2;

// Double d2 = 0.3;

// System.out.println(d1.compareTo(d2)); //-1

// Double d1 = null;

// Double d2 = 0.3;

// System.out.println(d1.compareTo(d2)); //NullPointerException

// Double d1 = 0.2;

// Double d2 = null;

// System.out.println(d1.compareTo(d2)); //NullPointerException

//-------------------------------------------------------------------------

// d1.compareTo(d2)最后调用的还是Double.compare(d1,d2)方法,

// public int compareTo(Double anotherDouble) {

// return Double.compare(value, anotherDouble.value);

// }

// compare方法使用的也是 < > 比较 。

// 最终的原因就是空值使用< > 比较时会报NullPointerException

// public static int compare(double d1, double d2) {

// if (d1 < d2)

// return -1; // Neither val is NaN, thisVal is smaller

// if (d1 > d2)

// return 1; // Neither val is NaN, thisVal is larger

// ........

// }

// compareTo、compare方法在Integer、 Float、 Double、 Long 等多个类中都存在,都可以使用

//-------------------------------------------------------------------------

// Double d1 = 0.2;

// Double d2 = null;

// System.out.println(Double.compare(d1, d2)); //NullPointerException

Double d1 = 0.2;

Double d2 = null;

System.out.println( d1 < d2 ); //NullPointerException

System.out.println(d2 != 0.3);//NullPointerException

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值