我了解到标准约定是 setter 不返回任何内容。但是,NIO.2 API 有一些方法,如 setOwner、setLastModifiedTime 和 setAttribute,它们返回 Path 实例。这些方法不是真正的 setter,还是不是所有的 setter 都必须有 void 返回类型?
在陈旧的JavaBean标准(这是为了与工具,这样的JavaBean可以自动处理的帮助下)可能说过一些关于无效制定者,但流利的构建旨在使事情变得更容易。
允许方法链接可以生成更好的代码,并且由于没有充分理由要求voidsetter 返回类型,因此他们选择使用程序(不,他们还没有看到注释):
path.setOwner(foo).setLastModifiedTime(bar).setAttribute(baz);
Run Code Online (Sandbox Code Playgroud)
JDK 在StringBuilder和 等类中确实有流畅接口的示例ProcessBuilder,但它们避免使用setXXX命名法(可能是为了避免混淆),即使它是有意义的。StringBuilder.append()显然不会被命名setMoreText(),但ProcessBuilder.directory(File)不如setWorkingDirectory(File)恕我直言那么明显。
| 归档时间: |
|
| 查看次数: |
140 次 |
| 最近记录: |