2016-05-16 4 views
0

Я пытаюсь преобразовать значения 2D ArrayList в строку, чтобы я мог напечатать их на JTextArea. Однако каждый раз, когда я запускаю свою программу, 2D ArrayList все еще находится в квадратных скобках. Кто-нибудь знает, как это исправить?Как преобразовать 2D ArrayList в String?

private void listButtonActionPerformed(java.awt.event.ActionEvent evt) { 

    for (int row = 0; row <= count; row++) { 

     employeeDisplay.setText(String.valueOf(employeeRecords.get(row))); 

    } 
} 
+1

Когда вы говорите, 2D ArrayList, у вас есть ArrayList >? Что возвращает employeeRecords.get (строка)? – Makketronix

+0

@Makketronix Да, у меня есть эта настройка, и employeeRecords.get (строка) должен печатать каждую строку 2D ArrayList в JTextArea. – spencerbro12

ответ

1

Попробуйте это в течение цикла:

StringBuilder builder = new StringBuilder(); 
for (String value : employeeRecords.get(row)) { 
    builder.append(value); 
} 
String text = builder.toString(); 
employeeDisplay.setText(text); 

ИЛИ

String formatedString = employeeRecords.get(row).toString() 
    .replace(",", "") //remove the commas 
    .replace("[", "") //remove the right bracket 
    .replace("]", "") //remove the left bracket 
    .trim(); 
employeeDisplay.setText(formatedString); 
+0

. Первая работает для меня, но есть ли способ сделать перерыв на новую строка после печати каждой строки 2D-массива? На данный момент он просто печатает все элементы в одной строке. – spencerbro12

+0

Добавить builder.append ("\ n"); после builder.append (значение); Надеюсь, поможет. Кроме того, не могли бы вы принять ответ или перенести его. Это помогает другим людям узнать, что ответ был найден – PeaceIsPearl

+0

Мой плохой, забыл его поднять. Спасибо за помощь! – spencerbro12

1

Если вы используете , вы могли бы использовать Collectors#joining

employeeDisplay.setText(employeeRecords.get(row) 
             .stream() 
             .collect(Collectors.joining(" "));