MyClassBuilder myClassBuilder = myClassBuilder()返回构建器的工厂方法,分配给与方法同名的本地。我今天以前从未见过这种情况。它有意义还是应该避免?在 Python 或 C++ 中不可能有意义地做到这一点,所以我是 Java 新手,感觉不对。IntelliJ 并没有给出太多警告,它会导致一些(对我来说)看起来令人困惑的代码。简单地说:这被认为是惯用的 Java 吗?编辑:我不认为这纯粹是基于意见的。Java 社区的主要参与者(甚至可能是语言创建者自己)可能会或可能不会使用该语言的这个“特性”。如果他们这样做了,那就表明它是惯用的。理想情况下,答案将引用它的使用位置或它解决的具体问题。我不认为这是一个很好的语言功能,我从未使用过它,但我思想开放,并准备好接受其他方式。
2 回答
守候你守候我
TA贡献1802条经验 获得超10个赞
在java中方法名和字段名都有自己的名字空间,所以可以给它们同名。
有一些代码样式,可能会使用它:
public class Human {
private String opinion;
public Human opinion(String opinion) {
this.opinion = opinion;
return this;
}
public String opinion() {
return opinion;
}
由于字段/方法、字段/参数和方法重载而导致的重复。
在流畅的 API、构建器模式中看到,不时的 getter-setter 憎恨者。
从上面可以看出,它也有点重复。方法名称的口头短语似乎更好(除了我们有size()这样的)。
添加回答
举报
0/150
提交
取消