两个代码哪一个更正确?

时间:2014-04-23 15:31:34

标签: java linked-list

我有两个代码遍历列表并在列表中输出数据。

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

问题回答。

2 个答案:

答案 0 :(得分:1)

第二个版本可以抛出一个NPE。 (考虑listnull的情况。)

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

您应该可以通过"手动执行"来验证这一点。代码,用铅笔和纸。我建议您这样做,因为它可以帮助您了解实际情况。

(或者,您可以使用一些示例列表编译和运行这两个版本,但这样可以减少您的洞察力。)

答案 1 :(得分:0)

第一个可能就是你想要的那个。您还应确保data字段不为空。

第二个问题的一个潜在问题是,如果list首先为空,那么尝试在while循环条件中获取current.next将抛出空指针异常。