java程序debug时正常,一正式运行就报错是什么原因?
我定义了一个List,在里面放了一些dm对象,如:list.add(am);然后我定义了一个方法,遍历这个list,然后强制造型成am对象,如:AdminModelam=...
我定义了一个List,在里面放了一些dm对象,如:list.add(am);
然后我定义了一个方法,遍历这个list,然后强制造型成am对象,如:
AdminModel am = new AdminModel();
for(int i = 0; i < list.size(); i++){
try{
am = (AdminModel) list.get(i);
}catch(Exception e){
e.printStackTrace();
}
上面的代码在debug单步调试时am可以正确造型,但如果正常运行时就报例外:
java.util.ArrayList cannot be cast to AdminModel
我用的是myeclipse6.5,请高手帮忙看一下这是什么原因造成的? 展开
然后我定义了一个方法,遍历这个list,然后强制造型成am对象,如:
AdminModel am = new AdminModel();
for(int i = 0; i < list.size(); i++){
try{
am = (AdminModel) list.get(i);
}catch(Exception e){
e.printStackTrace();
}
上面的代码在debug单步调试时am可以正确造型,但如果正常运行时就报例外:
java.util.ArrayList cannot be cast to AdminModel
我用的是myeclipse6.5,请高手帮忙看一下这是什么原因造成的? 展开
3个回答
展开全部
import java.util.*;
public class TestList {
public static void main(String[] args) {
List<AdminModel> list = new ArrayList<AdminModel>();
AdminModel am = new AdminModel();
list.add(am);
for(int i = 0; i < list.size(); i++){
try{
am =list.get(i);
}catch(Exception e){
e.printStackTrace();
}
}
}
}
class AdminModel{
}
这样吧,运行没错误,建议用泛型,
这样子强制转换很容易出错,且不稳定。
public class TestList {
public static void main(String[] args) {
List<AdminModel> list = new ArrayList<AdminModel>();
AdminModel am = new AdminModel();
list.add(am);
for(int i = 0; i < list.size(); i++){
try{
am =list.get(i);
}catch(Exception e){
e.printStackTrace();
}
}
}
}
class AdminModel{
}
这样吧,运行没错误,建议用泛型,
这样子强制转换很容易出错,且不稳定。
展开全部
是否提供了一个空的构造函数
追问
我看了一下,是有一个空的构造函数,请问是这个构造函数造成的吗?
追答
不是 可能是我理解错了
为啥不加泛型呢 ArrayList
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果如你说的 那应该没问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询