输出arraylist的内容

时间:2012-02-01 15:47:20

标签: java

如何将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) {}   
}

4 个答案:

答案 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