Если вы посмотрите на исходный код реализации Sun Class.getSimpleName()
, вы заметите, что, похоже, он возвращает новый экземпляр String каждый раз, когда вы назови это. Однако многие другие функции класса Class кэшируются.
Поскольку простое вычисление имен не кажется легким, и в JavaDoc нет ничего, чтобы сказать, что он должен каждый раз возвращать новый экземпляр, он должен быть хорошим кандидатом для кэширования. Мне интересно, может ли быть какая-то причина дизайна, почему это не кэшировано?
Я спрашиваю, потому что многие фреймворки используют простые имена все время, и это так легко кэшировать.