如何将arraylist转换成字符串?

use*_*786 2 java arraylist

我是java的初学者.在我的代码中我有一个arraylist,我想完全输出为String.为此,我写了这段代码.

package factorytest;

import java.util.ArrayList;
import java.util.List;

public class MatchingWord {

    public static void main(String[] args) {

        List <String> myList = new ArrayList<String>();
        myList.add("hello");
        myList.add("first");
        myList.add("second");
        myList.add("third");
        myList.add("fourth");

        // 1st approach
        String listString = "";

        for (String s : myList)
        {
            listString += s + "\t";
        }
System.out.println(listString);
    }

}
Run Code Online (Sandbox Code Playgroud)

我的输出是

hello   first   second  third   fourth  
Run Code Online (Sandbox Code Playgroud)

我不希望最后一个元素之后的最后一个\ t.我怎样才能做到这一点.

Mar*_*oun 5

一种解决方案是不使用for-each循环,您可以执行以下操作:

int i;
for(i = 0;i < myList.size() - 1;i++) {
    listString += myList.get(i) + "\t";
}
listString += myList.get(i);
Run Code Online (Sandbox Code Playgroud)

我建议你用StringBuilder而不是+.

其他方案:

  • 完成构造后修剪字符串.
  • Joiner.
  • ...

  • "i"不会在最后一行超出范围吗? (2认同)
  • 最好不要在循环中连接字符串.你可以使用StringBuilder ...... (2认同)