Обычно, когда я пытаюсь напечатать объект, используя System.out.println();
class Car {
String color = "red";
}
class Main {
public static void main(String[] args) {
Car car = new Car();
System.out.println(car);
}
}
Вывод выглядит примерно так:
Car@677327b6
Что является его class name
+ '@'
+ hashCode
. И внутренне он вызывает метод toString()
. Это кажется хорошим. Но что происходит, когда я внедряю автобокс следующим образом:
class Main {
public static void main(String[] args) {
int i = 100;
Integer obj = i;
System.out.println(obj);
}
}
Здесь вывод равен 100
. Почему это не похоже на Main@hexcode
? Я думал, что преобразую примитив i
в объект типа Integer
. Пожалуйста, поправьте меня.