Java 错误:无法转换不兼容的类型对象[ArrayList]

Java 错误:无法转换不兼容的类型对象[ArrayList],java,for-loop,arraylist,error-handling,syntax-error,Java,For Loop,Arraylist,Error Handling,Syntax Error,我的for循环声明中出现编译器错误:不兼容的类型:无法将对象转换为Type2 我正在尝试这样做: 代码如下: import java.util.ArrayList; public class Test2 { String name; int value; public ArrayList list = new ArrayList<Test2>(); public void q() { for(Test2 w : list) { //

我的for循环声明中出现编译器错误:
不兼容的类型:无法将对象转换为Type2

我正在尝试这样做:

代码如下:

import java.util.ArrayList;

public class Test2 {
    String name;
    int value;
    public ArrayList list = new ArrayList<Test2>();

    public void q() {
        for(Test2 w : list) { // Here is the error: 'incompatible types: Object cannot be converted to Test2'
            if(w.value == 10)
                System.out.println(w.name);
        }
    }
}
import java.util.ArrayList;
公共类Test2{
字符串名;
int值;
public ArrayList list=new ArrayList();
公共空间q(){
对于(test2w:list){//以下是错误:“不兼容的类型:对象无法转换为Test2”
如果(w.value==10)
System.out.println(w.name);
}
}
}

Java无法知道列表中会出现类型为
Test2
的对象;您需要将其参数化。或者显式声明
list
public ArrayList list=new ArrayList()
,或将其强制转换为循环:
(test2w:(ArrayList)list)

公共ArrayList list=new ArrayList()
或只是在
循环中为
转换列表这是否回答了您的问题?