Java包装类面试题

Java包装类面试题

1. int, float类型要统一

package com.beyondx.java;
import org.junit.test;

public class InterviewTest {
    @Test
    public void test1() {
        Object o1 = true ? new Integer(1) : new Double(2.0);
        System.out.println(o1); // 1.0
    }
}

int, float在一块, 有类型提升

编译的时候, 要求这2个类型, 一致

2. int, float类型不用统一

package com.beyondx.java;
import org.junit.test;

public class InterviewTest {
    @Test
    public void test2() {
        Object o2;
        if (true) {
            o2 = new Integer(1);
        } else {
            o2 = new Double(2.0);
        }
        System.out.println(o2); // 1
    }
}

这个没有要求 这2个需要统一类型

有时间研究一下, 为什么

3. Integer源码考查

package com.beyondx.java;
import org.junit.Test;

public class InterviewTest {
    @Test
    public void test3() {
        // 比的是地址
        Integer i = new Integer(1);
        Integer j = new Integer(1);
        System.out.println(i == j); // false, 比的是地址
        
        // 自动装箱, 不是 new 的方式
        Integer m = 1;
        Integer n = 1;
        System.out.println(m == n); // true, 自动装箱, 不是 new的方式
        
        Integer x = 128;
        Integer y = 128;
        System.out.println(x == y); // false
    }
}

参考链接

https://www.bilibili.com/video/BV1Kb411W75N?p=309

posted on   beyondx  阅读(79)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示