Java ArrayList<;字符串>;toString()

Java ArrayList<;字符串>;toString(),java,arraylist,tostring,Java,Arraylist,Tostring,我无法将ArrayList打印到toString。它说我不能将ArrayList转换为字符串。这里是我的代码,如果有人能帮忙的话 package edu.purse.test; import java.util.ArrayList; public class Purse { ArrayList<String> coins = new ArrayList<String>(); public Purse() { } public

我无法将ArrayList打印到toString。它说我不能将ArrayList转换为字符串。这里是我的代码,如果有人能帮忙的话

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());
  }
}
包edu.week.test;
导入java.util.ArrayList;
公款钱包
{
ArrayList硬币=新的ArrayList();
公帑
{
}
公共无效添加硬币(字符串coinName)
{
硬币。添加(硬币名称);
}
公共字符串toString()
{
归还硬币;
}
}
包装教育测试;
公务舱行李员{
公共静态void main(字符串[]args){
钱包p=新钱包();
p、 加币(“四分之一”);
p、 一角硬币;
System.out.println(p.toString());
}
}

当方法将返回类型声明为
String
时,您正在返回一个
ArrayList
。使用

public String toString()
{
    return coins.toString();
}

注意这里显式调用
toString()

System.out.println(p.toString());

这是不必要的。有一个重载方法,它接受一个
对象
参数,并在内部调用
toString()
,每个类都从
对象
继承这个方法,Java中所有类都隐式扩展的类。

当方法将返回类型声明为
String
时,您将返回一个
ArrayList
。使用

public String toString()
{
    return coins.toString();
}

注意这里显式调用
toString()

System.out.println(p.toString());

这是不必要的。有一个重载方法,它接受一个
对象
参数,并在内部调用
toString()
,每个类都从
对象
继承这个方法,Java中所有类都隐式扩展了这个类。

非常感谢大家。有你这样的人在身边很有帮助@不客气。考虑接受这个或其他(他们都删除…)的答案来帮助StAccOppEnter循环。非常感谢你们。有你这样的人在身边很有帮助@不客气。考虑接受这个或其他(他们都删除…)的答案来帮助StAdvOFF循环。