如何将arraylist中的值返回到屏幕上,例如的System.out.println
我在想一个for循环,例如
for (String s : list)
{
System.out.println(s);
}
但它抱怨它无法将对象转换为字符串 - 如何将其转换为字符串?
代码:
public static void GetStatsProc(String operation)
{
try {
Process p=Runtime.getRuntime().exec(operation);
p.waitFor();
BufferedReader reader=new BufferedReader(new InputStreamReader(p.getInputStream()));
String line=reader.readLine();
while(line!=null)
{
// Add all lines into an array
ArrayList list = new ArrayList();
list.add(line);
System.out.println(line);
line=reader.readLine();
}
}
catch(IOException e1) {}
catch(InterruptedException e2) {}
}
答案 0 :(得分:6)
如果您的问题是在for循环中打印,则应声明您的列表
ArrayList<String> list = new ArrayList<String>();
并且for循环需要看起来像
for (String s : list)
{
System.out.println(s);
}
答案 1 :(得分:3)
只需使用代码:
System.out.println(list);
打印列表。
答案 2 :(得分:1)
我认为你错过了一个:在你的代码中,它应该是(String s:list)然后你可以引用s,只要你有一个字符串列表。
答案 3 :(得分:1)
请注意,每个对象都有toString()
方法,但默认实现可能无法提供良好的结果。但是,在您的情况下,您正在处理字符串列表,因此您应该像其他人已经建议的那样使用ArrayList<String>
。
如果您想循环条目并提供自己的格式(如换行符等),请尝试以下操作:
for (Object o : list)
{
System.out.println(o);
}
如果String.valueOf(o)
为o.toString()
,这将在内部致电"null"
,致电o
或返回null
。