我有两个代码来遍历列表并输出列表上的数据。
现在我认为第一个是正确的,因为我认为第二个会导致异常发生,我正确吗?
问题已回答。
第二个版本可以抛出NPE。(考虑list
是null
的情况。)
但更重要的问题是,第二个版本不会输出列表的最后一个元素。曾经
你应该能够通过用铅笔和纸"手动执行"代码来验证这一点。我建议你这样做,因为这将帮助你了解实际发生了什么
(或者,您可以使用一些示例列表编译并运行这两个版本,尽管这会让您的了解更少。)
第一个可能就是您想要的。您还应该确保data
字段不为空。
第二个可能的问题是,如果list
首先为null,那么在while循环条件中尝试获取current.next
将引发null指针异常。