【发布时间】:2017-10-29 13:48:33
【问题描述】:
在阅读有关使用 Java I/O 类的信息时,我看到许多对象的多种变体用于获得另一个结果,我想知道将这些对象按特定顺序放置是否重要,或者我只需要使用它们不管按什么顺序。
例如:
BufferedReader br = new BufferedReader(new FileReader(FILENAME)))
BufferedReader “包装” FileReader 是否重要,反之亦然?以这种方式编写的代码是否会以相同的方式工作:
new FileReader(new BufferedReader(FILENAME))
我不仅仅说只使用两个对象的情况,当我们使用更多对象时,“包装器”的顺序是否重要?
【问题讨论】:
-
就目前而言,有点不清楚您到底在问什么。在问题被否决和关闭之前,请用一些代码示例进行解释。
-
感谢您的建议,希望我现在就说清楚了。
-
好吧,你的两个代码示例都是一样的!这两种情况都将
FileReader包装在BufferedReader中。在这一点上,我强烈建议你收集你的想法并思考你在问什么。答案已经存在。 -
第二个代码无法编译。
-
好的,谢谢。您能否向我确认一下以使其清楚 - 在许多不同情况和情况下使用的包装器必须以严格定义的顺序使用。我之所以这么问,是因为 I/O 库中有这么多类,而且对我来说正确使用它们似乎有点困难,因为我仍然是 Java 新手。对不起,如果我的问题不正确。
标签: java design-patterns decorator