索引越界错误

2023-12-19

我正在开发一个程序,将保存的小部件重新创建回边界面板。当我创建它们时,我还尝试将值放入 ArrayList 中,这样如果我想更新并保存打开的项目,我应该能够通过从 ArrayList 获取值来完成此操作。

代码如下所示:

for(int i = 0; i < result.length; i++){
                if(ename.contains(result[i].getParticipateEntityName())){
                        ername.add(ename.indexOf(result[i].getParticipateEntityName()), result[i].getParticipateRelatioshipName());
                        etotalpartial.add(ename.indexOf(result[i].getParticipateEntityName()), result[i].getTotalPartial());
                }else if(wename.contains(result[i].getParticipateEntityName())){
                        wrname.add(wename.indexOf(result[i].getParticipateEntityName()), result[i].getParticipateRelatioshipName());
                }
}

这里ename、ername、etotalpartial、wename和wrname都是ArrayList。这段代码包含在异步类方法中。

当我运行代码时,我在“ername.add(ename......”处收到错误。

这是错误堆栈:

java.lang.IndexOutOfBoundsException: Index: 1, Size: 0
    at java.util.ArrayList.add(ArrayList.java:367)
    at com.e.r.d.client.ERD1$16.onSuccess(ERD1.java:898)
    at com.e.r.d.client.ERD1$16.onSuccess(ERD1.java:1)
    at com.google.gwt.user.client.rpc.impl.RequestCallbackAdapter.onResponseReceived(RequestCallbackAdapter.java:216)
    at com.google.gwt.http.client.Request.fireOnResponseReceived(Request.java:287)
    at com.google.gwt.http.client.RequestBuilder$1.onReadyStateChange(RequestBuilder.java:393)
    at sun.reflect.GeneratedMethodAccessor16.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
    at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71)
    at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:157)
    at com.google.gwt.dev.shell.BrowserChannel.reactToMessagesWhileWaitingForReturn(BrowserChannel.java:1713)
    at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:165)
    at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:120)
    at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:507)
    at com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:264)
    at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91)
    at com.google.gwt.core.client.impl.Impl.apply(Impl.java)
    at com.google.gwt.core.client.impl.Impl.entry0(Impl.java:188)
    at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
    at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71)
    at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:157)
    at com.google.gwt.dev.shell.BrowserChannel.reactToMessages(BrowserChannel.java:1668)
    at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:401)
    at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:222)
    at java.lang.Thread.run(Thread.java:619)

我不确定我做错了什么。

任何输入都会有很大帮助。

谢谢。


你不能使用public void add(int index, E element) http://java.sun.com/javase/6/docs/api/java/util/ArrayList.html#add%28int,%20E%29的方法List如果您不能保证列表的大小大于index.

这就是您的代码所发生的情况。您有一个空列表(ername), and ename.indexOf(result[i].getParticipateEntityName())返回 1,因此IndexOutOfBoundsException。换句话说,您有一个大小为 0 的列表,并且您尝试在索引 1 处插入一个元素。

考虑使用public boolean add(E e) http://java.sun.com/javase/6/docs/api/java/util/ArrayList.html#add%28E%29的方法ArrayList它将新元素附加到列表的末尾。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

索引越界错误 的相关文章

随机推荐

  • ASP-Net MVC5 Crystal Reports:系统找不到指定的路径

    有什么建议么 Code ReportDocument rpt new ReportDocument rpt Load Server MapPath CrystalReports P Order rpt TableLogOnInfo logo
  • 有没有关于 Spanned 和 Spannable 文本的示例

    我正在努力使用 EditText 和 Spannable 文本对象 这些天 我已经阅读了 API 文档大约十次 即使我不确定我是否理解正确 所以我正在寻找一种示例来展示如何使用 EditText 和 Spannable 由于您没有指定您无法
  • 如何修改Imagenet Caffe模型?

    我想修改 ImageNet caffe 模型 如下所述 由于时间网络的输入通道数与此不同 空间网络 20 vs 3 我们对 ImageNet 模型滤波器进行平均 先跨过通道一层 然后复制平均结果 20 时间网络的初始化 我的问题是如何才能达
  • 在 Google Chrome 中使用 MediaStream API 更改 FocusMode 不起作用

    在 Google Chrome 浏览器中 我能够使用以下方式实时获取连接的 USB 摄像头的实时信息 获取用户媒体 API 我有一个滑块可以更改亮度值 效果很好 我还希望 focusMode 从连续的 to manual 相机始终以连续对焦
  • 仅将 jetty url-pattern 与根目录匹配

    我只想用密码保护 Jetty Web 应用程序的上下文路径上的根目录 我的上下文路径是 MyApp 所以我需要密码才能访问 http localhost 8080 MyApp 但不适用于 http localhost 8080 MyApp
  • 如何在 TestCafe 中等待元素消失?

    当我需要等待元素变得可见时 我可以简单地将选择器作为函数调用 如下所示 await element with visibilityCheck true 但我怎样才能等待一个元素消失呢 要等待元素消失 您可以使用我们内置的断言等待机制 请参见
  • 找到将小数转换为整数的公共乘数的算法

    我有一个可能最多有 8 位小数的数字数组 我需要找到可以将它们相乘的最小公共数 以便它们都是整数 我需要这个 以便所有原始数字都可以乘以相同的比例 并由仅处理整数的密封系统进行处理 然后我可以检索结果并将它们除以公共乘数以获得相对结果 目前
  • geom_text 在所有方面写入所有数据

    我将 ggplot 与facet grid 一起使用 我想在每个方面指示每个方面的观察数量 我遵循许多网站上提供的示例 但是当我让它写任何东西时 它会在所有四个图上将所有四个观察数字写在彼此之上 这里是 geom text 图层命令 geo
  • macOS SwiftUI 表超过 10 列?

    我尝试添加 Group 技巧以在 Table 视图中获取超过 10 个元素 但是无法编译 就像有超过 10 个元素没有组一样 var body some View Table viewModel tableArrayOfStructs so
  • Mysql 连接器花费 50% 的时间在 com.mysql.jdbc.util.ReadAheadInputStream.fill()

    我正在分析使用 Spring Hibernate 和 mysql java connector 的应用程序 VisualVM显示超过50 的CPU时间花费在com myql jdbc utils ReadAheadInputStream f
  • Android sqlite 多线程

    我正在编写一个 Android 应用程序 使用sqlite 有多种活动和一项服务 我从多个线程使用数据库 它完美地工作在Android 2 X 但是一旦我运行它Android 3 X它总是抛出这个错误并且Force Close 05 04
  • 将自定义方法集成到 LINQ to Entities 查询中

    我有一个自定义方法 可以对一组数据执行一些计算 private int GetPercentages int OriginalValue int TotalValue var newValue int Math Round decimal
  • 刷新Core Data数据库的正确方法

    我的应用程序经过设置 以便在首次使用时 它会从基于 Web 的 xml 源下载所需的数据 用户还可以选择通过设置定期刷新数据 当他们这样做时 我想删除现有数据库 然后通过我用于第一次加载的代码重新创建它 我读到 简单地删除数据库并不是执行此
  • Android 中的 MD5 哈希

    我有一个简单的 Android 客户端 需要与一个简单的 C HTTP 侦听器 对话 我想通过在 POST 请求中传递用户名 密码来提供基本级别的身份验证 MD5 哈希在 C 中是微不足道的 并且为我的需求提供了足够的安全性 但我似乎无法找
  • 从ggplot2中提取颜色信息?

    使用保存在名为的文件中的虚拟代码foo txt COG station1 station2 station3 station4 station5 COG000Z 0 019393497 0 183122497 0 089911227 0 2
  • 如何在 ASP.NET Core 中使用区域

    我如何使用Area在 ASP NET Core 中 我有一个需要管理部分的应用程序 该部分要求将其视图放置在该区域中 所有以以下开头的请求Admin 需要重定向到该区域 为了在 ASP NET Core 应用程序中包含区域 首先我们需要在S
  • Angular2升级到RC6,找不到traceur

    升级到后RC6 出现以下错误 zone js 101 GET http localhost traceur 404 Not Found zone js 484 Unhandled Promise rejection Error XHR er
  • 为什么我的正则表达式中存在多个捕获组会使我的应用程序崩溃?

    无论正则表达式是什么 gt 1 个捕获组都会导致此代码崩溃并出现以下错误 由于未捕获的异常 NSRangeException 而终止应用程序 原因 NSCFString substringWithRange 范围 9223372036854
  • 如何仅从 JdbcTemplate queryForList 返回 String 对象?

    默认情况下 queryForList 返回每个 for 作为Map
  • 索引越界错误

    我正在开发一个程序 将保存的小部件重新创建回边界面板 当我创建它们时 我还尝试将值放入 ArrayList 中 这样如果我想更新并保存打开的项目 我应该能够通过从 ArrayList 获取值来完成此操作 代码如下所示 for int i 0