从 Java6 迁移到 Java8 时的 IndexOutOfBoundsException

问题描述

我们目前正在将应用程序从 Java6 迁移到 Java8。我们使用 primefaces-4.0 和 JSF 2.2 版本。

代码如下:

// Iterate over columns.
                for (int i = 0; i < dynamicList.get(0).size(); i++) {
                    // Create <h:column>.
                    column = new Column();
                    // Create <h:outputText value="dynamicHeaders[i]"> for <f:facet name="header"> of column.
                    column.setHeaderText(dynamicHeaders[i]);
                    //column.setWidth("" + (100 / dynamicHeaders.length));
                    //dynamicDataTable.getChildren().add(column);
                    System.out.println("Table after setting values");
                    System.out.println("List size is:"+dynamicList.size());
                    System.out.println("First list size is:"+dynamicList.get(0).size());
                    System.out.println("Elements:"+dynamicList.get(0)); 
                    System.out.println(column.getHeaderText());
                    System.out.println(column.getChildren().get(i)); //Getting IndexOutOfBounds exception in this line
                    // Create <h:outputText value="#{dynamicItem[" + i + "]}"> for the body of column.
                    output = new OutputLabel();
                    output.setValueExpression("value",createValueExpression("#{dynamicItem[" + i + "]}",String.class));
                    column.getChildren().add(output);
                    System.out.println("Column information");
                    System.out.println(output.toString());
                    System.out.println(output.getValue());
                    System.out.println(output.getChildren().get(i));
                    System.out.println(output.getValueExpression("value"));
                    System.out.println(output.getChildren().size());
                    System.out.println(output.getFamily());
                    
                }

我们正在 Excel 中生成报告。调试代码时能够看到 IndexOutOfBounds 异常(已注释该行)。在日志中,我可以打印列表值,并且表也是使用素数构造的。我只有在为表设置值时才会遇到问题。这在 Java6 中工作正常。

我无法确定问题出在哪里。请帮忙。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)