我有个问题 .我正在尝试添加并将它们检索到同一类的对象到ArrayList,但是当我尝试检索它们时,我得到了不兼容的类型erroe
import java.util.*;
public class Test{
Test(){
main();
}
List test = new ArrayList();
public void main(){
test.add(new Square(10));
Iterator i = test.iterator();
while(i.hasNext()){
Square temp = i.next();
}
}
}
Run Code Online (Sandbox Code Playgroud)
是的 - 你没有在任何地方使用泛型,所以i.next();就Object编译器而言只是返回.
选项:
演员Square:
Square temp = (Square) i.next();
Run Code Online (Sandbox Code Playgroud)就个人而言,我赞成使用泛型 - 你可以更好地使用类型安全性:)
// Not clear why this is an instance variable - and please make fields private :)
List<Square> test = new ArrayList<Square>();
public void main() {
test.add(new Square(10));
Iterator<Square> i = test.iterator();
while(i.hasNext()) {
Square temp = i.next();
// Use square here
}
}
Run Code Online (Sandbox Code Playgroud)
两个旁边:
增强的for循环可以替换你的while循环:
for (Square square : test)
Run Code Online (Sandbox Code Playgroud)有一个没有参数调用的实例方法很奇怪main; 它更常见public static void main(String[] args).关于你在这里所做的事情,没有什么不合法的,只是奇怪的.
| 归档时间: |
|
| 查看次数: |
4576 次 |
| 最近记录: |