Java教程

java问题收集

本文主要是介绍java问题收集,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1、int与Integer用==比较详解

 public static void main(String[] args) {
        int t1 = 12;
        int t2 = 12;

        Integer integer1 = new Integer(12);
        Integer integer2 = new Integer(12);
        Integer integer3 = new Integer(127);

        Integer a1 = 127; //或者写成Integer a1 = Integer.valueOf(127);
        Integer a2 = 127;//或者写成Integer a2 = Integer.valueOf(127);

        Integer a = 128;
        Integer b = 128;

        // 基本数据类型==比较只要值相等就为true
        System.out.println("2个int类型比较 -> " + (t1 == t2));
        // Integer与int进行==比较时,Integer就会拆箱成一个int类型,所以还是相当于两个int类型进行比较
        System.out.println("int和integer比较 -> " + (t1 == integer1));
        // 两个都是对象类型,而且不会进行拆箱比较
        System.out.println("2个new出来的integer比较 -> " + (integer1 == integer2));
        // 无论如何,Integer与new Integer不会相等。不会经历拆箱过程,因为它们存放内存的位置不一样。
        System.out.println("integer3 == a1 -> " + (integer3 == a1));

        // Integer作为变量时,对于-128到127之间的数,会进行缓存,再次创建直接拿原来的赋值给变量。
        // 超出这个范围,则会new一个对象
        System.out.println("a1 == a2 -> " + (a1 == a2));
        System.out.println("a == b -> " + (a == b));
    }
View Code

2、找到的基础题

https://blog.nowcoder.net/n/7d0544796437467285bd1032c79a0d3a

这篇关于java问题收集的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!