Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.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 两个代码哪一个更正确?_Java_Linked List - Fatal编程技术网

Java 两个代码哪一个更正确?

Java 两个代码哪一个更正确?,java,linked-list,Java,Linked List,我有两个代码遍历列表并输出列表上的数据 现在我认为第一个是正确的,因为我认为第二个会导致异常发生,对吗 问题回答。第二个版本可能会抛出NPE。(考虑list为null的情况) 但更重要的问题是,第二个版本不会输出列表的最后一个元素。永远 您应该能够通过使用铅笔和纸“手动执行”代码来验证这一点。我建议你这样做,因为这将帮助你了解到底发生了什么 (或者,您可以使用一些示例列表来编译和运行这两个版本,尽管这会让您不那么了解情况。)第一个版本可能就是您想要的版本。您还应该确保数据字段不为空 第二个的一个

我有两个代码遍历列表并输出列表上的数据

现在我认为第一个是正确的,因为我认为第二个会导致异常发生,对吗

问题回答。

第二个版本可能会抛出NPE。(考虑
list
null
的情况)

但更重要的问题是,第二个版本不会输出列表的最后一个元素。永远

您应该能够通过使用铅笔和纸“手动执行”代码来验证这一点。我建议你这样做,因为这将帮助你了解到底发生了什么


(或者,您可以使用一些示例列表来编译和运行这两个版本,尽管这会让您不那么了解情况。)

第一个版本可能就是您想要的版本。您还应该确保
数据
字段不为空


第二个的一个潜在问题是,如果
list
在第一个位置为null,那么尝试获取
当前值。while循环条件中的下一个
将引发null指针异常。

两者都可能引发npeLinkedNode的代码是什么?我认为第二个将导致异常发生:尝试它,你会看到的。是的,我做了手工计数的版本。