【java面试题】Integer对象输出结果是?

本文解释了Java中的equals()和==方法在比较对象时的区别,指出equals用于内容比较,而==用于内存地址判断。特别提到Java9不推荐使用newInteger()创建对象实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*
 * Copyright (c) 2006, 2023, webrx.cn All rights reserved.
 *
 */

package cn.webrx;

/**
 * <p>Project: wxbili2mp4 - Test
 * <p>Powered by webrx On 2023-11-14 20:28:46
 * <p>描述:<p>
 *
 * @author webrx [webrx@126.com]
 * @version 1.0
 * @since 17
 */
@SuppressWarnings("all")
public class Test {
    public static void main(String[] args) {
        Integer a1 = 100;
        Integer a2 = 100;
        System.out.println(a1 == a2); //true
        System.out.println(a1.equals(a2));//true
        Integer a3 = Integer.valueOf(100);
        Integer a4 = Integer.valueOf(100);
        System.out.println(a3 == a4);//true
        System.out.println(a3.equals(a4));//true

        //java 9 不建议使用new Integer()实例化对象
        Integer a5 = new Integer(100);
        Integer a6 = new Integer(100);
        System.out.println(a5 == a6);//false
        System.out.println(a5.equals(a6));//true
    }
}

执行结果如下:
在这里插入图片描述
对象实例的equals方法是判断对象的内容是不是一样,在java程序中,如果使用的new就会给对象重新分配内存地址。==主要是用来判断对象内存是不是一样,如果一样就为true。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值