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工具类中传参数类型是数组,当然不行