2017-02-23 18 views
0

Я mulitthreaded программы, которые читают большие XMLs и в настоящее время конвертировать их в строку например:Что использовать String OR StringBuilder для хранения больших текстов?

String temp = MyObject.convertToString(xmls); 

я должен передать эту строку различных методов обработки. Вопрос не связан с добавлением BUT hold/Хранение этого большого текста в объекте i.e String OR StringBuilder.

Как String и StringBuilder повлияют на производительность/память, я думаю, что если я продолжу использовать String, он объединит строку в JVM с несколькими XMLS. В другом случае это будет объект и будет GC'd, когда это не требуется или будет установлено значение null. Более того, какое поведение будет Stringbuilder.toString() на память.

+0

вы можете использовать StringBuilder, чтобы читать его легко. – thanga

+0

'StringBuilder' для создания или управления строкой. Если вы не манипулируете своей строкой, используйте «string». Если вы беспокоитесь о производительности/памяти о сохранении и чтении 'string' - определенно используйте' string' – Fabio

ответ

1

будет объединять строку в JVM с несколькими XMLs

Только если это строковый литерал или intern() его. Нет причин не использовать String здесь.

+0

, что имеет смысл, теперь какой будет эффект StringBuilder.toString(), как он будет выглядеть на заднем плане, если бы я использовал строитель, а затем каждый раз нажимал toString(). – usman

+0

Я не знаю, что вы подразумеваете под «в фоновом режиме», но результат 'toString()' - это 'String', к которому применяются замечания в этом ответе. Поскольку вы не добавляете, я даже не знаю, почему вы задаете вопрос. – EJP

Смежные вопросы