【发布时间】:2013-05-11 10:56:16
【问题描述】:
为什么不能将可迭代对象放入 Path 引用(实现 Iterable?
Iterable<Path> dirs = FileSystems.getDefault().getRootDirectories();
for (Path name: dirs) {
System.err.println(name);
}
如果我将Iterable<Path> 更改为Path,它确实会给我一个编译错误。为什么?不应该更注重程序到界面吗?
【问题讨论】:
-
我不明白这个问题。你能否补充说明你认为你应该能够写什么,以及你期望它做什么。
-
Path比Iterable<Path>更专业 - 因此,如果getRootDirectories()仅与Iterable<Path>签约,则不能将其分配给更特殊的类型。