如何避免在列表迭代中使用get(0)

Anu*_*jKu 2 java iteration iterator list data-structures

有什么办法可以避免get(0)在列表迭代中使用吗?

get(0)迭代列表时使用它总是有风险的.

我确信在这个列表中我只有一个对象.

(PS我记得我的上一位经理总是对我说要避免get(0)在列表迭代中使用.)

Jon*_*eet 9

你不太清楚"风险"是什么意思,但你可以考虑使用番石榴Iterables.getOnlyElement:

List<String> foo = getListFromSomewhere();
String bar = Iterables.getOnlyElement(foo);
Run Code Online (Sandbox Code Playgroud)

这清楚地表明您希望只有一个元素.如果您认为可能没有元素,则可以使用允许您指定默认值的重载.

这样,当你要求元素时,你的期望会得到检查......但是你还在寻找其他什么并不明显.(你还记得你的上一位经理警告你这件事 - 但你还记得他为什么警告过你吗?)