Java.lang.String
- это не просто класс. Это неотъемлемая часть основного языка. У компилятора есть синтаксический сахар. Например, ""
является аббревиатурой для new String("")
. Когда написано ""
, компилятор оптимизирует идентичные строки для одного и того же экземпляра, чтобы сэкономить место. "a" + 5 == "a5" ==> true
У компилятора есть синтаксический сахар для большого количества материала, в том числе нечего делать в ящик / unbox между объектными версиями и их родными типами, без родительских средств Object, конструктор по умолчанию, ...