2013-11-19 6 views
0

Я хочу преобразовать свой вектор char в строку в Java. Единственный метод, который я знаю, сначала преобразовать вектор в массив символов, а затем преобразовать массив символов в строку. Но мне нужно найти способ преобразования char Vector непосредственно в String.Преобразование символа char в строку String в Java

+2

Пожалуйста, не используйте 'Vector'; вместо этого используйте 'ArrayList'. –

+0

StringBuilder и перебирать вектор? –

+1

Как насчет '' метод '' toString() '] (http://docs.oracle.com/javase/7/docs/api/java/util/Vector.html#toString())? –

ответ

0

Похож на convert vector to string in java. Метод прямого преобразования отсутствует. Использование метода toString() будет печатать символы, заключенные в [] (точно так же, как массив). Итерации над символами в векторе и либо распечатать их напрямую, либо добавить их в строковый конструктор для создания строки

0

Существует много методов, ни одна из них не является прямой. Даже если API предоставляет один метод, фактические временные сложности для этого способа, в отличие от любого другого, будут очень похожи.

Вы можете перебирать вектор и добавление каждого символа в строку

Vector<Character> charList = yourCharVector; 

String vectorAsConcatenatedString = ""; 
for (Character c : charList) 
    vectorAsConcatenatedString += c; 
0

В Java 7, просто вызывая Vector#toString() будет работать. Цитируется по Javadoc:

Возвращает строковое представление этого вектора, содержащего представление строк каждого элемента.

В Java 6 я не думаю, что toString() делает это. Я бы создал объект Stringbuilder требуемого размера Stringbuilder sb = new Stringbuilder(v.size()); и затем перебирал вектор, чтобы добавить один символ за раз. Наконец, конечно, возвращая sb.toString().

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