Java String - включить часть, скрытую смещением - PullRequest
0 голосов
/ 22 октября 2011

У меня есть объект Java String со значением: "c: SAMPLE". Его смещение = 2 и число = 6, поэтому фактическая строка - «SAMPLE».

Как я могу построить новую строку, которая будет равна "c: SAMPLE"?

1 Ответ

5 голосов
/ 22 октября 2011

Поля count и offset являются частными для строки.Вы, вероятно, видели их с помощью отладчика.Это просто означает, что String, которую вы видите, является подстрокой некоторой другой String, которая существовала ранее.

Если вы хотите оригинальную строку, найдите, где была вызвана операция подстроки, и сохраните оригинальную строку где-нибудь.Тот факт, что подстрока реализована путем совместного использования того же массива, что и ее исходная строка, - это просто деталь реализации, используемая для оптимизации использования памяти.Вы не можете использовать его как способ восстановить исходную строку.

Если вы ссылаетесь на аргументы смещения и счетчика конструктора String, они просто используются для извлечения только некоторой части символамассив передан в качестве аргумента.Как только копия символов из массива будет сделана, счет и смещение будут забыты.Они не являются частью строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...