我想用Java打印一个List。
r1
r2
r3
r4
以下是代码:
public static final void main(String args[]) {
Scanner a = new Scanner(System.in);
String r1, r2, r3, r4;
System.out.print("Enter word..");
r1 = a.next();
System.out.print("Enter second word");
r2 = a.next();
System.out.print("Enter third word");
r3 = a.next();
System.out.print("Enter last word");
r4 = a.next();
List list = new List();
list.add(r1);
list.add(r2);
list.add(r3);
list.add(r4);
System.out.println(list);
}
如何打印我的列表而不是:
java.awt.List[list0,0,0,0x0,invalid,selected=null]
答案 0 :(得分:13)
在课堂上你有:
import java.awt.List;
但是,java.awt.List
描述了一个GUI组件,可能不是您想要的。要使用数据结构List
,请将导入更改为:
import java.util.List;
由于java.util.List<E>
是通用接口,因此您也应该正确使用它:
List<String> list = new ArrayList<>();
表达式System.out.println(list);
将打印List
对象,该对象可能显示或不显示内容(取决于toString
的实现)。要显示列表的内容,需要迭代:
for ( String str : list ) {
System.out.println(str);
}
如评论中所述,此解决方案仅在您import java.util.ArrayList;
答案 1 :(得分:3)
java.awt.List是List组件(如您在GUI中看到的下拉列表) (source。)
其中java.util.List是用于存储数据的有序集合。 (source)
尝试从
更改导入(如jlordo所述)import java.awt.List;
到
import java.util.List;
答案 2 :(得分:2)
import java.util.ArrayList;
public class Example
{
public static void main(String args[])
{
Scanner a = new Scanner(System.in);
String r1, r2, r3, r4;
System.out.print("Enter word..");
r1 = a.next();
System.out.print("Enter second word");
r2 = a.next();
System.out.print("Enter third word");
r3 = a.next();
System.out.print("Enter last word");
r4 = a.next();
ArrayList<String> list = new ArrayList<>();
list.add(r1);
list.add(r2);
list.add(r3);
list.add(r4);
for ( String str : list )
{
System.out.println(str);
}
}
而不是打印用户的输入,而是打印对象。
答案 3 :(得分:1)
最正确的方法可能是使用StringBuilder
List<String> list = new ArrayList<String>();
//Add the stuff here.
...
StringBuilder sb = new StringBuilder();
for(String s: list)
sb.append(s + " ");
System.out.println(sb);