日期:2014-05-20  浏览次数:20846 次

ArrayList建立的数组是不是不能用toString来输出?
如题:
import java.util.*;

public class Test
{
public static void main(String[] args)
{
 ArrayList<Integer> staff = new ArrayList<Integer>();
 staff.add(5);  
 staff.add(8);
 System.out.println(Arrays.toString(staff)); //编译时有误。
 
 int[] array = {1, 2, 3};
 System.out.println(Arrays.toString(array));
 
 
}
}


------解决方案--------------------
改为如下即可:         
ArrayList<Integer> staff = new ArrayList<Integer>();
             staff.add(5);             
             staff.add(8);
             System.out.println(staff);
=====================================
你输出的是ArrayList,不能使用Arrays.ToString
------解决方案--------------------
可以先把ArrayList转换为array,然后再用toString
------解决方案--------------------
在这里来总结一下吧!
1.list转化为数组array,其实每个实现了Collection<E>接口的类都可以继承toArray()的方法,所以实现list的类都有toArray()的方法,因为list接口继承了Collection的接口。所以List list = new ArrayList();
list.toArray()转变为数组的方法。

2.数组转化为list,这个可以直接用Arrays的帮助类,Arrays.asList(T...)的这个方法,直接把数组当参数放入方法中就可以得到list了。

希望对你有帮助,谢谢~~
------解决方案--------------------
你实例化的是集合,而arrays工具类中传参数类型是数组,当然不行