Я понимаю, что каждый раз, когда я набираю строковый литерал ""
, тот же объект String ссылается в пуле строк.
Но почему API-интерфейс String не включает public static final String Empty = "";
, поэтому я мог бы использовать ссылки на String.Empty
?
Это сэкономит время компиляции, по крайней мере, поскольку компилятор будет знать ссылку на существующую строку, и не нужно проверять, было ли оно уже создано для повторного использования, правильно? И лично я считаю, что распространение строковых литералов, особенно крошечных, во многих случаях является "запахом кода".
Так был ли проект Grand Design Reason позади ни одного String.Empty, или создатели языка просто не делились моими взглядами?