Ответ 1
Вы не можете напрямую получить доступ к String intern pool
.
По Javadocs String intern pool
есть:
Пул строк, первоначально пустой, поддерживается конфиденциально по class String.
Однако объекты String могут быть добавлены в этот пул с помощью метода String intern()
.
java.lang.String.intern()
возвращает интернированную строку, то есть та, которая имеет запись в глобальном пуле строк. Если String еще не находится в глобальном пуле String, он будет добавлен.
Программно, вы можете следовать этому подходу:
- Объявить
Set<String> StringConstantPool = new HashSet<String>();
- вызов
String.intern()
- Добавить возвращаемое значение
String
в этот пулStringConstantPool