如何为ArrayList返回/实现toString?另外,只想检查我是否正确创建了我的对象?

时间:2017-04-04 08:11:16

标签: java object arraylist tostring

import java.util.ArrayList;
import java.util.Date;
import javafx.scene.shape.Circle;

public class List2 {
    public static void main(String[] args){
        Loan newLoan = new Loan();                  
        Date theDate = new java.util.Date();
        Circle newCircle = new Circle();
        String s = new String();
        //last semicolon is also an error?

        private ArrayList<Object> List = new ArrayList<Object>();

        List.add(newLoan);
        List.add(theDate);
        List.add(newCircle);
        List.add(s);

        //**There's an error underlining all my . and ; when I add them to the List above?

        public String toString() {
            String results = "";
            for (Object d : List) {
                results += "," + d.toString();
            }
        }
    }
//I'm pretty new to this stuff

2 个答案:

答案 0 :(得分:0)

您的代码中有很多错误:

<强>第一 不要用开头的大写字母命名你的变量,java使用camelCase

<强>第二 不要在您的方法中使用私人公开声明您的变量。

private ArrayList<Object> List = new ArrayList<Object>();

<强>第三 你不能在另一个方法中声明一个方法,你必须在完成后关闭第一个方法:

public static void main(String args[]){//------Start
  ...
}//---End

public String toString(){//---Start
  ...
}//---End

<强>第四 当您想要使用paramettres调用方法时,您可以像这样传递它们:

method(list);

<强>第五 ArrayList已经暗示了toString,所以你不需要再次创建它,你可以使用:

list.toString()

如果您想再次实施,可以使用:

public static void main(String[] args) {
    King newLoan = new King();
    Date theDate = new java.util.Date();
    Circle newCircle = new Circle();
    String s = new String();

    ArrayList<Object> list = new ArrayList<Object>();

    list.add(newLoan);

    list.add(theDate);

    list.add(newCircle);

    list.add(s);

    System.out.println(newLoan.toString(list));
}

public String toString(ArrayList<Object> list) {
    String results = "";
    for (Object d : list) {
        results += "," + d.toString();
    }
    return results;
}

答案 1 :(得分:0)

首先是第一件事......

你的代码没有编译,因为你违反了sintax规则......

这里:

private ArrayList<Object> List = new ArrayList<Object>();

无法声明为私有,因为您是INSIDE方法,只是无效,

因为列表用于静态上下文,所以它也必须声明为静态,或者创建类 List2

的对象 另一方面

toString 方法返回一个字符串对象,您需要返回一些内容,例如我可以推断的结果对象。

相关问题