zoukankan      html  css  js  c++  java
  • Integer比较陷阱

    Integer 类在对象中包装了一个基本类型 int 的值。 
    有一个陷阱存在,经常出现在面试题中,情况如下面代码

    public class IntegerDemo {
        public static void main(String[]args){
            Integer a = 200;
            Integer b = 200;
            System.out.println(a==b);//false
            System.out.println(a.equals(b));//true
    
            //数据在byte范围内,JVM不会从新new对象
            Integer aa = 127;
            Integer bb = 127;
            System.out.println(aa==bb);//true
            System.out.println(aa.equals(bb));//false
    
            Integer aaa = 128;
            Integer bbb = 128;
            System.out.println(aaa==bbb);//false
            System.out.println(aaa.equals(bbb));//true
        }
    }   

    在0~127范围内,JVM不会从新分配对象。这时直接比较两个数值相等的对象时,答案为true. 
    而其他范围内,需要重新创建对象,这时直接比较两个数值相等对象,是在比较两个对象的引用地址,这时答案为false。

    转载地址:http://blog.csdn.net/qq_34114951/article/details/76034562

  • 相关阅读:
    Loadrunner 参数化&参数化策略&参数化mysql
    Loadrunner 录制脚本注意事项
    Centos7卸载nginx及php、php-fpm方法
    卸载apache
    apache配置
    centOs
    ajax-php跨域请求
    安装php
    apache
    java集合类,HashMap,ArrayList
  • 原文地址:https://www.cnblogs.com/histlyb/p/7852035.html
Copyright © 2011-2022 走看看