Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Can';在使用方法迭代arrayList时,无法从对象获取值_Java_Object_Methods_Arraylist - Fatal编程技术网

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

Java Can';在使用方法迭代arrayList时,无法从对象获取值,java,object,methods,arraylist,Java,Object,Methods,Arraylist,获取authors arrayList'name'值中的A元素时遇到问题。 Name是一个私有变量,必须是,所以我使用一个方法(我已经测试过)来返回它。 已经编程几周了,如果我使用了不正确/令人困惑的术语,很抱歉 作者是一个班级 authors是Author对象的数组列表 下面是我尝试过的一个例子: //Iterating through all elements of authors for (i = 0; i < Author.authors.size(); i++) Auth

获取authors arrayList'name'值中的A元素时遇到问题。 Name是一个私有变量,必须是,所以我使用一个方法(我已经测试过)来返回它。 已经编程几周了,如果我使用了不正确/令人困惑的术语,很抱歉

作者是一个班级 authors是Author对象的数组列表

下面是我尝试过的一个例子:

//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;
}
//遍历作者的所有元素
对于(i=0;i

还有一个

//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;
}
//遍历作者的所有元素
对于(i=0;i

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

在author中有一个作者数组列表,它会导致无限递归,因为author1和author2有一个作者列表,而author2有另一个列表,依此类推(这可能取决于您的操作方式)


尝试将authors arraylist从author类中取出并检查代码括号。

您应该创建对象的
新实例以访问其方法

也许你有这样的想法:

Object obj;
Object obj = new Object();
这会告诉编译器obj的类型,但它仍然为空(null)

应该是这样的:

Object obj;
Object obj = new Object();

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

您遇到了什么问题?你看到了什么错误?为什么作者有自己的静态ArrayList?你的循环没有大括号。这一点很重要。类型手册中未定义方法equalsIgnoreCase(String,String)。authors ArrayList看起来是Author类的静态字段,因此我不清楚这将如何导致无限递归。我同意它不属于Author类,但出于设计原因,而不是无限递归问题——据我所知,这是原始海报中没有提到的。我不太确定。作者列表无论如何不应该在作者类上。
“作者列表无论如何不应该在作者类上。”
。。。。正如我已经提到的,是的。在“产品”中保存作者列表更有意义。例如,这本书有作者,并把列表放在那里。我理解,把它放在另一个类中可能会更好,我现在已经这样做了。ArrayList是静态的,尽管如此,我还是将其取出并放入一个新类“Store”。