Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java IntelliJ IDEA-在不使用iterable的情况下计算表达式_Java_Debugging_Intellij Idea - Fatal编程技术网

Java IntelliJ IDEA-在不使用iterable的情况下计算表达式

Java IntelliJ IDEA-在不使用iterable的情况下计算表达式,java,debugging,intellij-idea,Java,Debugging,Intellij Idea,假设我们在while循环的开始处有一个断点 while ((line = reader.readLine()) != null) { // do something with line } Bufferedreader读取器的InputStream具有[“只有一行”] 在IntelliJ IDEA中,计算(Ctrl+U)reader.readLine()将有效地消耗“只有一行”,当我从断点恢复时,while循环条件将失败,因为BufferedReader中没有更多的行 有没有办法在不消

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

while ((line = reader.readLine()) != null) {
    // do something with line
}
Bufferedreader
读取器的InputStream具有
[“只有一行”]

在IntelliJ IDEA中,计算(Ctrl+U)
reader.readLine()
将有效地消耗
“只有一行”
,当我从断点恢复时,while循环条件将失败,因为BufferedReader中没有更多的行


有没有办法在不消耗实际行的情况下计算
reader.readLine()
?计算表达式意味着执行它并查看结果,因此有效地
reader.readLine()
总是消耗一行

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

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


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

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

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


如果在Eclipse中有一种在不使用流/读取器的情况下读取行的功能,我会感到惊讶

允许您在((line=reader.readLine())!=null){
时在第
行设置断点并在进入循环之前检查
line
的值的一种可能的解决方案是添加一个条件断点(在IntelliJ
CTRL-F8
中,该行后跟
CTRL-SHIFT-F8
,或者右键单击断点图标)


这样,只要
不为空,执行就会停止。

如果在Eclipse中有一个功能可以在不使用流/读取器的情况下读取行,我会感到惊讶

允许您在((line=reader.readLine())!=null){
时在第
行设置断点并在进入循环之前检查
line
的值的一种可能的解决方案是添加一个条件断点(在IntelliJ
CTRL-F8
中,该行后跟
CTRL-SHIFT-F8
,或者右键单击断点图标)


这样,只要
line
不为空,执行就会停止。

为什么不跳过这一行呢?那么要么你在循环中并且
line!=null
,要么你就在循环后面并且
line==null
。我模糊地记得Eclipse中的一个等价功能没有使用这一行,这会触发我问了一个关于IDEA的问题。在进入循环之前,非常方便地看到这行是否不是空的,同时,知道里面有什么值。为什么不跨过这行呢?那么要么你在循环中并且
line!=null
,要么你就在循环后面并且
line==null
。我模糊地说请记住,Eclipse中的一个等效功能没有使用该行,这引发了关于IDEA的问题。事先查看该行是否为空非常方便,同时,在进入循环之前知道其中的值。