package day01;
public class demo{
public static void main(String [] args){
Integer integer=1;
Integer integer1=new Integer(1);
System.out.println(integer.hashcode());
System.out.println(integer.hashcode);
System.out.println(integer==integer1);
System.out.println(integer.equals(intege1));
}
}
这是一道很经典的题,看似简单,实则涉及到了jvm的底层知识,如果对jvm恐怕也是很难将这个问题讲解清楚吧!本题的答案为1 1 false ture
对于integer,它是一个变量,在jvm中放在方法区中,而integer1是一个包装类,它是存储在堆里面的 所以他们的地址会相等么,是肯定不会相等啊,!通熟的讲,equals比较的是值,而==比较的是地址。欢迎各位大佬发表自己的看法。