java - IntelliJ IDEA - 评估表达式而不消耗可迭代

标签 java debugging intellij-idea

假设我们在 while 循环的开始处有一个断点,

while ((line = reader.readLine()) != null) {
    // do something with line
}

并且 Bufferedreader reader 的 InputStream 有 [“只有一行”]

在 IntelliJ IDEA 中,求值 (Ctrl + U) reader.readLine() 将有效消耗“只有一行”,当我从断点恢复时,while 循环条件将失败,因为 BufferedReader 中不再有行。

有没有办法在不消耗实际行的情况下评估reader.readLine()

最佳答案

计算表达式意味着执行它并查看结果,因此实际上 reader.readline() 将始终消耗一行。

但是,您可能需要尝试 ready() 方法,如果可以执行读取操作,该方法将返回 true

注意。如果读取器即将到达 EOF,ready() 将返回 true,因为可以执行读取操作,但会立即返回 null

Java Orace Docs: ready()

关于java - IntelliJ IDEA - 评估表达式而不消耗可迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44815217/

相关文章:

java - 我如何在 displaytag 中创建链接?

python - scikit 学习 AdaBoostRegressor IndexError : index 1 is out of bounds for axis 0 with size 1

linux - 我现在如何在 Linux 上使用 Windows 7 上安装的预安装 Intellij Idea?

java - 如何逐行读取标准输入?

java - 我的ConcurrentHashmap值类型是List,如何使附加到该列表线程安全?

java - 在 Windows 服务器中运行可执行 jar

android - 将 Android 应用程序分发给 Alpha 测试人员时如何跟踪错误?

C Hangman 程序调试辅助(中止陷阱 :6 error)

javascript - JSX react /jsx-curly-spacing IntelliJ

intellij-idea - IntelliJ IDEA 14 和 angular-fullstack 调试设置卡在并发 :server