lista.add(obj)和list中出错<;obj>;JAVA
我试图用Java解决列表的一个问题,但我做不到。我有以下代码:lista.add(obj)和list中出错<;obj>;JAVA,java,list,object,initialization,initializer-list,Java,List,Object,Initialization,Initializer List,我试图用Java解决列表的一个问题,但我做不到。我有以下代码: Productos producto = ... //come from a database, here there isn't errors List<Productos> lista = new ArrayList<Productos>(); lista.set(0,producto); 是的,对Int进行了“错误转换”看起来是个错误,但我不认为..这是我代码的一部分: EntityMan
Productos producto = ... //come from a database, here there isn't errors
List<Productos> lista = new ArrayList<Productos>();
lista.set(0,producto);
是的,对Int进行了“错误转换”看起来是个错误,但我不认为..这是我代码的一部分:
EntityManager em = entityManagerFactory.createEntityManager();
.
.
int id = Integer.parseInt(request.getParameter("IdProd"));
Productos producto = em.find(Productos.class,id);
HttpSession session = request.getSession(false);
if(session.getAttribute("carProductos")==null){
List<Productos> lista = new ArrayList<Productos>();
lista.add(producto);
session.setAttribute("carProductos", lista);
}else{
List<Productos> lista = (List<Productos>) session.getAttribute("carProductos");
lista.add(producto);
session.setAttribute("carProductos", lista);
}
EntityManager em=EntityManager工厂。createEntityManager();
.
.
intid=Integer.parseInt(request.getParameter(“IdProd”);
Productos producto=em.find(Productos.class,id);
HttpSession session=request.getSession(false);
if(session.getAttribute(“carProductos”)==null){
List lista=new ArrayList();
添加(producto);
session.setAttribute(“carProductos”,lista);
}否则{
List lista=(List)session.getAttribute(“carProductos”);
添加(producto);
session.setAttribute(“carProductos”,lista);
}
我已经在Eclipse中完成了调试,“IdProd”是5,“id”也是5。现在它看起来像“lista”捕获“producto”并自我介绍,但当它位于底部时,突然显示出错误和崩溃。在这段代码之后,我不再使用“lista”或“producto”。有人能帮我吗?下面是java.util.ArrayList.add()方法的声明 公共void add(int索引,E元素) 所以使用
lista.add(0, producto)
列表中的set
方法在将元素设置在不在0
和size()-1
之间的位置时引发错误。在空的列表
上,您永远不能设置元素。发件人:
抛出:
IndexOutOfBoundsException-如果索引超出范围(索引<0 | |索引>=size())
我想你要做的是在列表中添加一个元素;由于列表
为空,因此唯一有效的位置为零:
lista.add(producto);
add
方法将元素添加到列表的末尾。如果是空列表,它将添加元素作为唯一的元素。请告诉我们确切的文字错误。它是如何工作的?producto
null?您是否尝试过lista。添加(0,producto)原始注释与添加集不匹配。哇,您注意到我的错误的速度比我修改注释的速度快-很抱歉造成混淆。@SirRichie,我希望这是最后一次这样做-开玩笑。感谢您的评论欢迎来到bufferOverflow!谢谢你们!lista.add(0,producto)无法工作,因为lista未初始化。。
lista.add(producto);