zoukankan      html  css  js  c++  java
  • Integer对象用== 和equals比较大小的问题

    Integer对象用== 和equals比较大小

    先看以下代码:

    Integer i1 = 127;
    Integer i2 = 127;

    if (i1 == i2) {
    System.out.println("i1 == i2 (==)");
    } else {
    System.out.println("i1 != i2 (==)");
    }

    Integer i3 = 128;
    Integer i4 = 128;
    if (i3 == i4) {
    System.out.println("i3 == i4 (==)");
    } else {
    System.out.println("i3 != i4 (==)");
    }
    if (i3.equals(i4)) {
    System.out.println("i3 == i4 (equals)");
    } else {
    System.out.println("i3 != i4 (equals)");
    }

    结果:

    i1 == i2 (==)
    i3 == i4 (==)
    i3 == i4 (equals)

    结果分析:java “==”就是比较引用
      而由于-128至127内的Interger都是同一个对象引用,所以第一个比较式true 
      之外的Interger 则不是同一个对象,所以比较为false 

      equals()是重载的方法,所以如果用equals来比较都为true

  • 相关阅读:
    特殊符号大全
    CSS速记
    JavaScript命名规范
    vim 常用快捷键
    Set a mouse hook
    ASP不可遗弃的通用函数
    ASP递归层级表格数据展示
    最简约JS日历控件
    ASP统计图
    ASP标准MD5代码
  • 原文地址:https://www.cnblogs.com/chenyuanqiu2008/p/5398943.html
Copyright © 2011-2022 走看看