2
我很困惑JDK7 nio包的设计(我经常使用它)。以例如Files.copy
为例,其采用CopyOption
的实例,其是空的界面,例如,由StandardCopyOption
实施:java.nio.file.CopyOption接口的目标是什么?
public enum StandardCopyOption implements CopyOption {
REPLACE_EXISTING
COPY_ATTRIBUTES,
ATOMIC_MOVE;
}
public interface CopyOption {
}
这样的设计背后有什么想法?我的意思是,即使CopyOption
接口传递给Files.copy
,Files.copy
对StandardCopyOption
仍有编译时间依赖性(请参阅Files.copy
的源代码)。