在使用方法迭代arrayList时,无法从对象获取值

时间:2015-03-29 22:05:19

标签: java object methods arraylist

我无法在作者arrayList'name'值中获取元素。 Name是一个私有变量,必须是,所以我正在使用一个方法(我已经测试过)来返回它。 编程只持续了几周,如果我使用不正确/令人困惑的术语,请对不起。

作者是一个班级 authors是Author对象的arrayList。

这是我试过的一个:

//Iterating through all elements of authors
for (i = 0; i < Author.authors.size(); i++)
    Author authTemp = (Author.authors.get(i)); // *****
    String nameTemp = authTemp.getName();// *****
    if (equalsIgnoreCase(nameTemp, entered)){
        nameExists = true;
    break;
}

另一个

//Iterating through all elements of authors
for (i = 0; i < Author.authors.size(); i++)
    if (equalsIgnoreCase(**(Author.authors.get(i).getName()**), entered)){
        nameExists = true;
    break;
}

知道我做错了什么吗?提前谢谢。

2 个答案:

答案 0 :(得分:0)

你在作者中有一个作者的arraylist并且它可以导致无限递归,因为author1有一个作者列表和author2,而author2有另一个列表等等(它可能取决于你是如何做到的)。

尝试将作者arraylist从作者类中删除并检查代码括号。

答案 1 :(得分:0)

您应该使new对象实例访问其方法。

可能你有这样的事情:

Object obj;

这告诉编译器obj的类型但它仍然是空的(null)。

它应该是这样的:

Object obj = new Object();

这将创建一个新实例,并允许您从Object访问方法。