Java 包装类Integer的值比较

对于包装类型Integer的值比较与int的值比较是不同的;

public class Java_Val_Compare {

    public static void main(String[] args) {
        Integer a1 = 127;
        Integer a2 = 127;
        System.out.println("a1==a2?:\t"+(a1==a2));

        Integer b1 = 128;
        Integer b2 = 128;
        System.out.println("b1==b2?:\t"+(b1==b2));

        System.out.println("b1.intValue()==b2.intValue()?:\t"
        +(b1.intValue()==b2.intValue()));
    }
}

执行结果:

时间: 2024-10-20 22:47:52

Java 包装类Integer的值比较的相关文章

【转载】C#之int与Java之Integer的区别

本文涉及到一些JVM原理和Java的字节码指令,推荐感兴趣的读者阅读一本有关JVM的经典书籍<深入Java虚拟机(第2版)>,将它与我在<.NET 4.0面向对象编程漫谈>中介绍的CLR原理与IL汇编指令作个对比,相信读者会有一定的启发.而仔细对比两个类似事物的异同,是很有效的学习方法之一. 1 奇特的程序输出 前段时间,一个学生给我看了一段“非常诡异”的Java代码:   public class testInteger {    public static void main(

再学Java 之 Integer 包装类缓存

前言:本博文将涉及的Java的自动装箱和自动拆箱,可以参考 这篇文章 和 官方教程 ,这里不再赘述. 首先,先看一个小程序: public class Main { public static void main(String[] args){ Integer i1 = new Integer(1); Integer i2 = new Integer(1); System.out.println(i1 == i2); Integer i3 = 1; Integer i4 = 1; System.

java中Integer包装类的详细讲解(java二进制操作,所有进制转换)

程序员都很懒,你懂的! 今天为大家分享的是Integer这个包装类.在现实开发中,我们往往需要操作Integer,或者各种进制的转换等等.我今天就为大家详细讲解一下Integer的使用吧.看代码: package com.herman.test; public class IntegerTest { public static void main(String[] args) { System.out.println("Integer中的常量***************************

JavaSE8基础 Integer 包装类对象的值不变

礼悟:    好好学习多思考,尊师重道存感恩.叶见寻根三二一,江河湖海同一体.          虚怀若谷良心主,愿行无悔给最苦.读书锻炼强身心,诚劝且行且珍惜. javaSE:1.8             os:windows7 x64            ide:MyEclipse 2017 代码 package jizuiku.demo; /** * Integer 包装类的对象不能改变其中的值 * * @author 给最苦 * @version V17.11.06 */ publi

java中Integer值比较不注意的问题

今天,帮人看代码时,发现这个问题,回顾起来,记录下来. 先来看一个代码片段 public static void main(String[] args) { Integer a1 = Integer.valueOf(60); //danielinbiti Integer b1 = 60; System.out.println("1:="+(a1 == b1)); Integer a2 = 60; Integer b2 = 60; System.out.println("2:=

一道 Java 方法传值面试题——Java方法传值的值传递概念和效果 + Integer 缓存机制 + 反射修改 private final 域

原题代码如下: 1 public void test1() { 2 int a = 1, b = 2; 3 System.out.println("before: a=" + a + ", b=" + b); 4 swap1(a, b); 5 System.out.println("after: a=" + a + ", b=" + b); 6 } 7 8 private void swap1(int i1, int i2)

[Java]判断Integer值相等最好不用==最好使用equals

测试代码 Integer c = 3; Integer d = 3; Integer e = 321; Integer f = 321; System.out.println(c == d); System.out.println(e == f); 结果输出: true false Integer为对象判断是否相等还是使用equals最靠谱,int为基本类型,判断是否相等就是可以使用== 其中的原因: static final Integer cache[] = new Integer[-(-1

Java包装类的常量池

Integer a=Integer.valueOf(100); Integer b=Integer.valueOf(100); System.out.println(a==b); Double d1=Double.valueOf(100); Double d2=Double.valueOf(100); System.out.println(d1==d2); 为什么包装类 Ingeter两个值就相等 Double的就不相等了呢 在给Integer赋值时,实际上是自动装箱的过程,也就是调用了Inte

【源码】java包装类总结

1.包装类除了Void和Character,其他六个全部都继承自Number.Number是一个抽象类.如下: public abstract class Number implements java.io.Serializable { public abstract int intValue(); public abstract long longValue(); public abstract float floatValue(); public abstract double double