我无法将ArrayList打印到toString。它说我无法将ArrayList转换为String。这是我的代码,如果有人可以提供帮助。
package edu.purse.test;
import java.util.ArrayList;
public class Purse
{
ArrayList<String> coins = new ArrayList<String>();
public Purse()
{
}
public void addCoin(String coinName)
{
coins.add(coinName);
}
public String toString()
{
return coins;
}
}
package edu.purse.test;
public class PurseTester {
public static void main(String[] args) {
Purse p = new Purse();
p.addCoin("Quarter");
p.addCoin("Dime");
System.out.println(p.toString());
}
}
答案 0 :(得分:4)
当方法将返回类型声明为ArrayList
时,您将返回String
。使用
public String toString()
{
return coins.toString();
}
请注意,在此处明确调用toString()
System.out.println(p.toString());
是不必要的。有一个重载方法接受Object
参数并在内部调用toString()
,这是一个每个类都继承自Object
的方法,这个类在Java中隐式extend
。< / p>