2012-07-02 2 views
-6

Hy всем,Преобразование массива в строку в Java

Мне нужно, чтобы преобразовать массив длиной в массив (1,2,3,4,5)

new String[] {arrayTeste.toString().replace("[","(").replace("]",")")} 

это правильно?

+4

Вы должны делать? –

+1

Трудно сказать, что здесь задают. – user1329572

+0

Что именно вы хотите сделать? Преобразовать строку формы (1,2,3,4,5) в массив? Измените вопрос и сделайте его правильным. – akaHuman

ответ

0

Используйте StringBuilder и добавить все элементы массива к нему. Это более эффективно, чем конкатенация строк напрямую.

Это очень похоже на Arrays.toString() делает работу, но она не требует, чтобы впоследствии заменить скобки:

StringBuilder b = new StringBuilder(); 
b.append("("); 

for(int i = 0; i < arrayTeste.length; ++i) { 
    if(i != 0) 
    b.append(","); 

    b.append(arrayTeste[i]); 
} 
b.append(")"); 
String s = b.toString(); 
0

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

Iterate над каждым элементом массива и формат соответственно:

string s = ""; 

for (int i = 0; i < array.length; i++) { 

    if (i == 0) s += "(" + array[i]; 
    if (i == array.length - 1) s += array[i] + ")"; 
    if (i != 0 && i != array.length - 1) { 

     s += array[i] + ","; 
    } 
}  

Это должно сделать трюк, грубо.

+0

Спасибо за помощь. –

0

Вы можете использовать Arrays.toString(long[])

1

Если я понимаю, что вы имеете в виду, что вам нужно сделать:

long[] array = ...; 
String string = Arrays.toString(array).replace('[', '(').replace(']', ')'); 

Если вы хотите преобразовать массив long в массив Strin g, вы можете сделать это:

long[] array = ...; 
String[] strings = new String[array.length]; 
for (int i=0; i < array.length; i++) { 
    strings[i] = String.valueOf(array[i]); 
} 

В одной строке:

String[] strings = Arrays.toString(array).replaceAll("(\\s+|\\[|\\])","").split(","); 
Смежные вопросы