Java iterator.hasNext() 始终为 true

2023-11-22

我的代码有一点问题,如下所示。这iterator().hasNext()永远不会变成假,因为next()函数总是返回相同的元素。它以无限循环.

我想在集合中的每个元素中设置属性 UserLock (从返回GetElements())。 如果元素的类型是“Package”,我将通过递归调用lockAllElements函数来锁定包下的所有元素。

private void lockAllElements(String internalGUID) {
    Element tempElem = null;

    while((repo.GetPackageByGuid(internalGUID).GetElements().iterator().hasNext()) == true) {
        tempElem = repo.GetPackageByGuid(internalGUID).GetElements().iterator().next();

        if(tempElem.GetType().equals("Package")) {                
            this.lockAllElements(tempElem.GetElementGUID());
        }

        tempElem.ApplyUserLock(); 
    }
}

这总是正确的,因为你得到了一个新的Iterator循环的每次迭代中的实例。你应该得到一个Iterator实例并在整个循环中使用该实例。

Change

while((repo.GetPackageByGuid(internalGUID).GetElements().iterator().hasNext()) == true) {
    tempElem = repo.GetPackageByGuid(internalGUID).GetElements().iterator().next();
    ...

to

Iterator<Element> iter = repo.GetPackageByGuid(internalGUID).GetElements().iterator();
while(iter.hasNext()) {
    tempElem = iter.next();
    ...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java iterator.hasNext() 始终为 true 的相关文章

  • 检查发送到网页的请求数

    我正在编写一个 Java 多线程应用程序 它可以访问不同 Web 服务器的数百万个 有时甚至数十亿个 URL 这个想法是检查这些 URL 是否给出有效的 200OK 响应或 404 其他代码 我如何知道我的程序是否不会在他们的服务器上造成高
  • RxJava + Retrofit 2 的正确使用方法

    我有这样的 JSON success true data id 29 name u0420 u0435 u0441 u0442 u043e u0440 u0430 u0446 u0456 u044f u0411 u0430 u0447 u0
  • 使用正则表达式验证输入字符串是否为 0-255 之间的数字

    我在将输入字符串与正则表达式匹配时遇到问题 我想验证输入数字在 0 255 之间并且长度最多应为 3 个字符 代码工作正常 但当我输入 000000 至任意长度时 显示 true 而不是 false 这是我的代码 String IP 000
  • 帮助我避免 JPA、Hibernate 和 MySQL 的连接超时

    我正在使用 JPA Hibernate 作为提供者 Glassfish 和 MySQL 开发中一切都运行良好 但是当我将应用程序部署到测试服务器并让它运行 大部分空闲 过夜时 我通常会在早上遇到这样的情况 2011 03 09T15 06
  • jpa2 CriteriaBuilder order by “ORDER BY 表达式必须出现在选择列表中”

    我正在写一个查询标准生成器 但无法添加order by子句 因为它随消息一起抛出错误ORDER BY 表达式必须出现在选择列表中这是我的实体 public class A Integer aId ManyToOne JoinColumn n
  • ResultSet:通过索引检索列值与通过标签检索

    使用 JDBC 时 我经常遇到这样的结构 ResultSet rs ps executeQuery while rs next int id rs getInt 1 Some other actions 我问自己 以及代码作者 为什么不使用
  • 必须 size() == end() - begin() 吗?演员阵容呢?

    据我了解 这样做的目的size type and difference type is not只是一个标志 它也旨在解决例如分段架构等 它们可能具有不同的大小 在这种情况下 如果我有一个带有随机访问迭代器的容器 我执行以下操作是否安全 st
  • EL 通过 Scriptlet

    在 JSP 中使用 EL 相对于 scriptlet 的优势是什么 EL 被认为是无脚本语言 EL 使 JSP 免受容易出错原始 Java 代码并强制您根据 MVC 思想编写 JSP EL 或像 JSTL 这样的标签库 不可能实现的任何事情
  • 全静态方法和应用单例模式有什么区别?

    我正在创建一个数据库来存储有关我的网站用户的信息 我正在使用 stuts2 因此使用 Java EE 技术 对于数据库 我将创建一个 DBManager 我应该在这里应用单例模式还是将其所有方法设为静态 我将使用这个 DBManager 进
  • AffineTransform.rotate() - 如何同时缩放、旋转和缩放?

    我有以下代码 它可以完成我想要绘制一个上面有一些棋子的棋盘的 第一部分 Image pieceImage getImage currentPiece int pieceHeight pieceImage getHeight null dou
  • spring mvc 跟踪引用页面

    在基于注释的弹簧控制器中 如果用户正在url com first page并点击一个链接或提交一份表格指出url com second page 如何制作second page知道url of first page所以这样second pa
  • 为什么我要使用责任链而不是 switch 语句

    考虑一下您已经获得了多次验证 仅当要检查的对象属于某种类型时 这些验证才应生效 为什么我要使用责任链而不是 switch 语句 责任链示例 public class Executor Inject private ValidatorFact
  • 如何使用 Selenium 中的索引切换到窗口

    由于selenium不提供切换到窗口 多个窗口 的方法 但我想使用index html自定义方法来切换到不同的窗口 但下面的代码没有按预期工作 请建议以下方法的最佳实施 public void switchToWindowIndex int
  • Servlet 调度程序当前不可用

  • Java字符串查找和替换的最佳方法?

    我正在寻找 Java 中字符串查找和替换的最佳方法 这是一句话 我的名字叫米兰 人们都知道我叫米兰瓦西奇 我想用 Milan Vasic 替换 Milan 弦 但在我已经有 Milan Vasic 的地方 情况不应该是这样 搜索 替换后的结
  • “___ 中的方法 ___() 是在无法访问的类或接口中定义的”编译错误

    我发现了一个奇怪的编译限制 我无法解释 并且我不明白这个限制的原因 示例1 考虑这些类 In package e1 public class C1 enum E1 A B C public E1 x In package e2 import
  • Java 验证日期为 yyyyMMddHHmmss

    我想在java中验证给定的日期格式为yyyyMMddHHmmss 状况 应符合格式 yyyyMMddHHmmss 它应该验证当前日期 它应该验证与当前小时有 3 小时或 3 小时差异的小时数 如果满足所有三个条件 Java 方法应返回 tr
  • 如何使 JScrollPane 与嵌套 JPanel 一起正常工作?

    我正在使用 NetBeans 在 Java 中构建 Swing 应用程序 但我遇到布局问题 我的主框架包含一个JScrollPane其中包含一个JPanel called contentPanel其中又包含一个JPanel called l
  • 如何列出Resources文件夹中的所有文件(java/scala)

    我正在编写一个函数 需要访问资源中的文件夹 并循环遍历所有文件名 如果这些文件符合条件 则加载这些文件 new File getClass getResource images sprites getPath listFiles 返回空指针
  • AndroidAnnotations 和 Dagger

    我正在尝试使用 Dagger 注入 Android 带注释的 Activity java lang IllegalArgumentException No inject registered for members com app serv

随机推荐

  • 如何判断我是否在 x64 上运行?

    我刚刚收到一份错误报告 该报告仅涉及程序 在 64 位计算机上 运行时才会出现的问题 现在 Delphi 不生成 64 位代码 因此理论上这应该不重要 但显然在这种情况下确实如此 我想我有一个解决方法 但它会破坏 32 位 Windows
  • addEventListener - 检测 div 元素的变化?

    我想检测 div 元素的变化 我已经尝试过某些类型的 addEventListener 例如 更改 加载 这是我的示例 但该事件不会触发 div Test Div Text div
  • 在 PhoneGap 应用程序中显示 Android 状态栏(即防止全屏)

    我有一个phonegap 3 0 0 应用程序 我的应用程序涵盖了状态栏 带有时钟 接收信息等的东西 由于我不是全屏游戏 所以这是不可取的 我相信它作为 全屏 应用程序运行 我在堆栈上找到了一些帖子来执行相反的操作 即使应用程序全屏显示 并
  • O(nk) 和 O(n+k) 的时间复杂度有什么区别?

    在算法分析中时间复杂度的大O表示法中 当算法依赖于n和k时 这两种表示法有什么区别 如果存在一个嵌套循环 其中外循环运行 n 次 内循环运行 k 次 请帮助使用符号 O nk for i 0 i
  • WCF 错误“对象图中可以序列化或反序列化的最大项目数为‘65536’”

    我在 WCF 调用中收到以下错误 一个实例中可以序列化或反序列化的最大项目数 对象图是 65536 我读过大量论坛帖子 其中许多提到修改 app config 和 web config 以指定新行为以允许更大的对象图 我已经做到了 这就是我
  • 中断()没有按预期工作(中断是如何工作的?)

    我想中断一个线程 但调用interrupt 似乎不起作用 下面是示例代码 public class BasicThreadrRunner public static void main String args Thread t1 new T
  • 如何使用 SFINAE 检测类的存在?

    是否可以使用 C 检测类是否存在SFINAE 如果可以的话怎么办 假设我们有一个仅由某些版本的库提供的类 我想知道是否可以使用 SFINAE 来检测该类是否存在 检测的结果是任意的 比如一个枚举常量 如果存在则为1 否则为0 如果我们要求编
  • 编辑器不包含主类型

    刚刚浏览了 Scala 网站上的示例 Scala 代码 但在尝试运行它时遇到了恼人的错误 这是代码 http www scala lang org node 45 在 Eclipse 上运行它时 我收到一条消息 编辑器不包含主类型 导致它无
  • hibernate如何生成外键约束名称?

    hibernate如何生成外键约束名称 如果我没有定义名称 休眠会生成类似这样的内容 CONSTRAINT fk 2ocepcfwpr1v18dg1ieoe6bau 这个名字是怎么生成的 也许来自MD5字段名称的哈希值或类似的东西 我需要知
  • Internet Explorer 8 中未定义 JSON 对象

    目前我正在编写一个 JavaScript 文件并包含以下行 var res JSON JSON stringify result 结果设置在这条线的正上方 我遇到的问题是 IE8 仅限 IE8 向我报告 JSON 未定义 我不知道该怎么理解
  • 使用 dart 创建 JavaScript 库

    问题 我目前正在开发一个 JavaScript 库 为了减少错误数量 我认为我的库可能会受益于使用 Dart 的静态类型机制 首先 因为我的库既不与 HTML 也不与其他 JavaScript 库进行任何互操作 只进行纯 JavaScrip
  • 自动完成弹出窗口时 Eclipse ADT 崩溃

    我正在使用 eclipse ADT bundle Google 让您可以直接从他们的网站下载 我使用的是 Ubuntu 13 10 并且使用的是 Oracle Java 7 我的问题是 一旦显示自动完成弹出窗口 Eclipse 就会崩溃 冻
  • 如何使用 msbuild 引导 .NET 3.5 SP1?按照找到的说明不起作用

    我正在尝试使用 msbuildGenerateBootstrapper 任务来分发带有框架的 net 应用程序 而不需要互联网连接来安装它 我发现很多帖子都指向相同的说明 为 NET Framework 3 5 SP1 引导程序启用 Sam
  • 在android中使用多点触控进行旋转和缩放

    我想在多点触摸事件上旋转和缩放图像 我能够拖动 缩放图像 但我无法理解图像的旋转 我面临问题 所以请尽快帮助我 我的代码在那里 public class Touch extends Activity implements OnTouchLi
  • 当 R 目录不为空时,如何重命名该目录?

    如何从 R 重命名目录 I tried Warning message In file rename from sprintf content s content pu name to sprintf content s cannot re
  • 使用boost::asio发送http GET请求,类似于cURL

    我正在尝试使用某个域的 REST API 发送 http GET 请求 基本上我想做的是替换以下卷曲请求 curl k H Content Type application json X GET data username u email
  • F# 代码发布版本中的 NOP

    我正在 VS2010 beta2 中使用 F 由于我是 F 新手 我只是选择了一个常见示例 然后继续实现了一个阶乘函数 如下所示 let rec factorial n if n lt 1 then 1 else n factorial n
  • 将 Zxing 库与 Jetpack compose 结合使用

    我正在尝试使用 zxing 库实现 qr 扫描仪 为此 我在屏幕上添加了一个按钮 单击它后 我将启动扫描仪 如下所示 Button onClick val intentIntegrator IntentIntegrator context
  • 有没有办法在测试的类中断点?

    这是我的场景 我有一个 Android 服务 CoreService I use ServiceTestCase
  • Java iterator.hasNext() 始终为 true

    我的代码有一点问题 如下所示 这iterator hasNext 永远不会变成假 因为next 函数总是返回相同的元素 它以无限循环 我想在集合中的每个元素中设置属性 UserLock 从返回GetElements 如果元素的类型是 Pac