【发布时间】:2016-07-13 16:50:21
【问题描述】:
oracle 文档说here Files.readAllLines(Path path, Charset cs) 方法将文件中的行作为List<String> 返回。
如果文件不存在,它会返回什么?还有List<String> 的哪个实现会返回?
【问题讨论】:
-
IOException,可能,List<String>类型故意未指定且可能会更改。 (不过,我敢打赌,unmodifiableList是ArrayList的包装器。) -
@LouisWasserman:所以我不能确定对于返回的
List,List.get()是 O(n) 还是 O(1)? -
@ln78 我不会担心这个;假设它是 O(1),你应该会感到相当舒服,而不是它是否可修改。
-
是的,虽然我怀疑它会是 ArrayList。
-
你可以做
List<String> randomList = list instanceof RandomAccess ? list : new ArrayList<>(list);