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
提交
取消