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