java - ArrayList java.lang.IndexOutOfBoundsException

标签 java jakarta-ee ejb

我编辑我的代码来解决最后一个问题,但现在当我正在执行 System.out.println(uns.get(0)); 时我得到 NULL 但 System.out.println(uns.get(0));这是我的结果!!!哎呀

   Ok I SOLVE THE PROB NOW  i'm adding  uns=new ArrayList(10);
    for (int ii = 0; ii < 10; ii++) {
    uns.add(null);
    }     to Construct

   /image/9rNTa.png

我编辑这些说明

if(i==0)
{ uns.add(i,u);

}
if(i==1)
{
uns.add(i,u);

}   
i++;

感谢大家

private void jTable1MouseClicked(java.awt.event.MouseEvent evt)   {                                     
int ligneNom =   jTable1.getSelectedRow();
int colonneNom = jTable1.getSelectedColumn();
DefaultTableModel model = (DefaultTableModel) jTable2.getModel();

     row = new Vector();
    if(colonneNom==0)
    {   
        try {

            int numUnite=Integer.parseInt(jTable1 .getValueAt(ligneNom, 0).toString());
             operation3 o3=new operation3();
             uns=new ArrayList(10);
             for (int ii = 0; ii < 10; ii++) {
              uns.add(null);
             }

             System.out.println(numUnite);
             u=o3.getUnite(numUnite);
             System.out.print(u);
             uns.add(i,u);
             System.out.println(uns.get(0));
             System.out.println(uns.get(1));


            i++;

            row.add( jTable1 .getValueAt(ligneNom, 0));
            row.add( jTable1 .getValueAt(ligneNom, 1));
            model.addRow(row);
            jTable1.clearSelection();

       } catch (NamingException ex) {
           Logger.getLogger(employeihm.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}                                    

最佳答案

你的误解在这里:

            uns=new ArrayList(10);

这将创建一个列表,其容量为 10 ...但最初包含零个元素。

然后你这样称呼:

            uns.add(i,u)

我们可以从异常消息中推断出i1。当然,1 超出了列表的当前可索引范围,因此您会得到该异常。

如果您的意图是 uns 应使用 10 个元素进行初始化,那么您需要在创建数组后“填充”该数组;例如

            for (int ii = 0; ii < 10; ii++) {
                uns.add(someValue);
            }

(有第 3 方库方法将创建一个填充给定值的列表。但是对于这么简单的东西我不会去寻找......)

关于java - ArrayList java.lang.IndexOutOfBoundsException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22939154/

相关文章:

java - 帮助处理 Hibernate (Spring) 中的外键映射?

java - 映射嵌套元素 - Mapstruct

jakarta-ee - Tinkerpop - Titan/Cassandra 项目设置

jakarta-ee - 在 JAX-RS 中使用 @stateless 在 Java EE 6 及更高版本中提供什么好处?

java ejb jsp未报告异常

java - Java 或 EJB 中的池化概念?

java - 如何使用 Jung(Java 库)以编程方式平移可视化查看器?

java - 如何更改 XSSFCellStyle 中的字体大小?

java - Liquibase 的数据源作为 Servlet 监听器

java - 在 CDI 中生成可选 Bean