В чем разница между целым числом a = 5 и новым целым числом (5)?

если я напишу ниже код (в Java):

Integer a =new Integer(5);
Integer b=new Integer(5);
if(a==b){
  System.out.println("In ==");
}
if(a.equals(b)){
 System.out.println("In equals");
}

Мой вывод:В равных Но если я изменю первую и вторую строку на ->

Integer a =5;
Integer b=5;

тогда мой o / p:

In == 
In equals

Так в чем же разница при создании объекта Integer? Как это создается, когда мы делаем?Integer a =5

Означает ли это, что объекты a и b ссылаются на один и тот же объект, если я создаюInteger a=5 и создает еще один объект?Integer b=5

Ответы на вопрос(5)

Ваш ответ на вопрос