Java ArrayList<;字符串>;无法转换为字符串。

Java ArrayList<;字符串>;无法转换为字符串。,java,arraylist,collections,Java,Arraylist,Collections,好的,我正在制作一个CD收集程序,一切都进行得很顺利,因为我一直在学习我的课程,但后来我遇到了一个问题,想让它出现在jTextArea。我打赌有一个简单的解决办法,但我找不到。我是新来的,任何答案都会很感激,我也在这里寻找答案,但没有发现我理解的东西 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { jButto

好的,我正在制作一个CD收集程序,一切都进行得很顺利,因为我一直在学习我的课程,但后来我遇到了一个问题,想让它出现在jTextArea。我打赌有一个简单的解决办法,但我找不到。我是新来的,任何答案都会很感激,我也在这里寻找答案,但没有发现我理解的东西

  private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    jButton1.setEnabled(true);
    jButton2.setEnabled(false);
    jButton3.setEnabled(false);
    jButton4.setEnabled(false);      //buttons                                       

    ArrayList<String> CD = new ArrayList();  //list
    Collections.addAll(CD, "\nEd Sheeran - X\n", "\nNirvana - Nevermind\n", "\nShania Twain - Up!\n", "\nLights - Little Machines\n", "\nTaylor Swift - 1989\n");          //PreAdded CDs
    Collections.sort(CD);
    jTextArea1.setText(CD);    //it works if i do System.out.println(CD) ? I need it to go to jTextArea1 though.
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt){
jButton1.setEnabled(true);
jButton2.setEnabled(false);
jButton3.setEnabled(false);
jButton4.setEnabled(false);//按钮
ArrayList CD=新建ArrayList();//列表
Collections.addAll(CD,“\nEd Sheeran-X\n”、“\nNirvana-Nevermind\n”、“\nSania Twain-Up!\n”、“\nLights-Little Machines\n”、“\nTaylor Swift-1989\n”);//预添加的CD
收藏.分类(CD);
jTextArea1.setText(CD);//如果我使用System.out.println(CD),它会工作吗?不过我需要它才能转到jTextArea1。

setText
需要一个
String
。您有许多
String
的列表。您必须自己决定如何将这些
String
组合成一个。

JTextArea使用
String
参数,而不是
数组列表。您需要将CD数组列表转换为字符串(以任何您认为最佳的方法)在继续之前。

当您调用

System.out.println(CD);
这等于

System.out.println(CD.toString());
所以你需要的是

jTextArea1.setText(CD.toString()); 

System.out
是一个
PrintStream
,并且是一个,最终在其上调用
toString()
。这就是
System.out.println(CD)
工作的原因


相反,
JTextArea
继承它的,它接受一个
字符串,而不是一个
对象。
ArrayList
不能隐式转换为
字符串。
可以很容易地调用
toString()
显式转换为
字符串。

你认为
setText
有什么作用?你为什么这么认为?“如果我做
System.out.println(CD)
”你听说过
toString()吗
method?我是这个lol的新手。很抱歉,我实际上不知道确切的扩展名的所有内容的含义。使用for循环遍历每个字符串,然后将其附加到文本区域。或者使用相当不错的默认实现(),只需键入
CD.toString()
,即可调用它。我必须等待2分钟。