2 回答

TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超10個(gè)贊
你不能那樣做。
有一個(gè)常見的習(xí)慣用法,其中setter 方法返回對(duì)象本身,使這樣的事情成為可能。但是您不能僅使用該語言的本機(jī)運(yùn)算符來做到這一點(diǎn)。
當(dāng)然,除非你寫
person.height = 5+(r.nextFloat()*1.5); return person;
但是如果你讓代碼自動(dòng)格式化程序靠近它,它可能無法生存......

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超18個(gè)贊
其他答案談到了 setter,但我認(rèn)為他們將您的問題誤解為關(guān)于編碼約定(您應(yīng)該做什么),而如果我理解正確的話,您問的是 Java 語言本身(您可以做什么)。
返回一個(gè)值并同時(shí)設(shè)置它對(duì)于Java語言來說是沒有問題的。
例子
class Test
{
int sum;
public int sum(int a, int b)
{
return (sum=a+b);
}
public static void main(String[] args)
{
System.out.println(new Test().sum(1,2));
}
}
添加回答
舉報(bào)