将ArrayList <string>打印到输出中?

时间:2016-04-27 19:20:23

标签: java arraylist printing

所以,我有ArrayList,我将动物存放在。

private ArrayList<Animal> catalog = new ArrayList<>();

现在,当我将4输入输出时,我需要将目录打印到输出中。

case 4:
                System.out.println("List of animals: ");
                printIt();   //Function to print catalog
                break;

我试着用

    private boolean InList(String name) {
    for (int i = 0; i < catalog.size(); i++) {
        if (name.equalsIgnoreCase(catalog.get(i).getName())) {
            return true;
        }
    }
    return false;
}

但它不起作用。你能帮助我得到这段代码吗?

3 个答案:

答案 0 :(得分:0)

如果您希望它返回String,请执行类似的操作。

String printIt(ArrayList<Animal> animals) {
String temp = "";
for(Animal animal : animals) {
temp += animal.getName() + "\n";
}
return temp;
}

虽然我认为不需要,但请立即打印出来。

void printIt(ArrayList<Animal> animals) {
for(Animal animal : animals) {
System.out.println(animal.getName());
}
}

答案 1 :(得分:0)

定义打印的方法可能太多了,你可以这样做

System.out.println("List of animals: "+ catalog );

但为此必须覆盖类动物中的toString方法......

如果你不重写,你会得到像

这样的东西
[animalcatalogjava.Animal@33909752]

这是对象字符串的defaukt ...

格式如下:

  

package.class@hashcode ..

答案 2 :(得分:0)

你需要覆盖toString()方法来打印对象的用户友好名称,这有助于调试。

用于比较两个动物对象的

equals()方法是否相同。

有关如何或何时覆盖Object类方法https://docs.oracle.com/javase/tutorial/java/IandI/objectclass.html

的更多信息