1) Простой способ создать строку из chars
:
String result = new String(chars, 0, length);
Обратите внимание, что вы, вероятно, не можете просто использовать конструктор String(char[])
, потому что существование члена length
подразумевает, что некоторые элементы chars
могут не использоваться. Если вы не укажете, какие элементы использовать, вы можете получить дополнительные символы (возможно, NUL, может быть мусор) в конце строки.
2) Не совсем. Хотя объект создается (память для самого объекта выделяется) во время вызова конструктора, в то время это просто капля памяти. Объект не полностью создан (читай: любые инварианты класса могут не обязательно выполняться), пока конструктор не вернется. Это означает, что разница между этими двумя понятиями применима только в конструкторе, поэтому люди часто используют слова «создавать» и «конструировать» почти взаимозаменяемо.