Сколько объектов String будет разбито, съедено

У меня есть следующий код Java:

public String makinStrings() {
  String s = "Fred";
  s = s + "47";
  s = s.substring(2, 5);
  s = s.toUpperCase();
  return s.toString();
}

Вопрос как-то прост: сколькоString объекты будут созданы при вызове этого метода?

Вначале я ответил, что создано 5 объектов String, но в ответе из моей книги сказано, что создано только 3 объекта и объяснений не было (это вопрос SCJP).

С моей точки зрения есть 5 объектов: «Фред», «47», «Фред47», «ed4», «ED4».

Я также нашел этот вопрос на симуляционном экзамене SCJP с тем же ответом 3.

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

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