编程语言
首页 > 编程语言> > Java Wrapper的比较

Java Wrapper的比较

作者:互联网

public static void main(String[] args) {    
    System.out.println((Integer.valueOf("5000") <= Integer.valueOf("5000")));
    System.out.println((Integer.valueOf("5000") == Integer.valueOf("5000")));       
}

上面的代码分别打印true和false.这是可以理解的,但是当我们使用==时它为什么打印错误.

但是,当使用< =(小于或等于)时,为什么答案是真的?

解决方法:

当您使用< =,>比较包装类时,Java执行拆箱并在彼此之间比较实际的int(或double,long等)值.所以Integer.valueOf(“5000”)< = Integer.valueOf(“5000”)将像这个Integer.valueOf(“5000”)一样工作.intValue()< = Integer.valueOf(“5000”).intValue( )相当于5000 <= 5000.

标签:java,equality,primitive-types,wrapper,inequality
来源: https://codeday.me/bug/20190527/1162190.html