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