我在程序中有一个方法,它接受一个ArrayList对象:
private ArrayList<T> list;
然后可以使用此方法获取所有项目,将它们复制到String Array,然后从原始列表中删除项目。
以下是方法:
public String[] takeAll()
{
if (this.list.size() <= 0)
{
throw new NoSuchElementException("Unable to take elements from empty array list");
}//checks if list is empty
String[] targetArray;
targetArray = list.toArray(new String[list.size()]); //adds the Objects to the String[] targetArray
list.clear();
return targetArray;
}
主要测试这个:
public static void main(String args[])
{
SimpleList a;
a = new SimpleList(Position.FIRST, Position.LAST);
String[] b;
a.list.add("thing1");
a.list.add("thing2");
a.list.add("thing3");
a.list.add("thing4");
b = a.takeAll();
System.out.println("The String Array b contains: " + b);
}
当我运行它时,它返回奇怪的东西:
String Array b包含:[Ljava.lang.String; @ 15db9742
我需要更改什么来实际打印出b应显示的地方{&#34; thing1&#34;,&#34; thing2&#34;,&#34; thing3&#34;,&#34; thing4&#34;}?
答案 0 :(得分:-1)
在Java中,如果要求它打印像这样的对象,它将打印该对象的toString()。打印数组元素的最简单方法是通过for循环运行它并打印数组的每个元素。
答案 1 :(得分:-1)
尝试Arrays.toString()方法:
System.out.println("The String Array b contains: " + Arrays.toString(b));