Почему я не могу преобразовать тип данных String в тип данных int?

Рейтинг: -2Ответов: 1Опубликовано: 16.07.2023
Scanner input = new Scanner(System.in);
String answer = input.next();
System.out.println(answer);

int answer2 = Integer.parseInt(answer); 
System.out.println(answer2);

Почему я не могу просто написать:

System.out.println((int) answer); 

Ответы

▲ 0
  • int - это примитивный тип данных. В переменной такого типа вы просто храните число. Всё. Это коробка для чисел. Не более.

  • String - это ссылочный тип данных. Это означает, что переменная такого типа (объект) ссылается на какой-то класс. В данном случае это класс java.lang.String. Таким образом, на переменную ссылочного типа (объект) можно вызывать методы (команды грубо говоря) или обратиться к полю (к какому-то данному). Поэтому объект можно даже сравнить с роботом.

А теперь задумайтесь: как вы из обычной коробки сделаете сложного робота? Никак. Вот так же из примитивного типа нельзя сделать объект.