只是對想到的一些小事感到好奇,但我一直無法通過搜索找到答案。是否可以返回一個帶有return關鍵字的實例,并在同一行中在該實例中設置一個變量?例如,我嘗試這樣做:public Person randomPersonHeight(Person person){ Random r = new Random(); return person.height = 5+(r.nextFloat()*1.5);//Imperial Measurements baby!}我想設置人的身高并一口氣返回人。但沒有奏效也就不足為奇了。當然,我可以在一行中完成并不重要。而且,只是不會代表任何更少!..但是,我發(fā)現(xiàn)自己想知道有任何表達或不同的格式可以使它成為可能。
2 回答

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

慕容森
TA貢獻1853條經(jīng)驗 獲得超18個贊
其他答案談到了 setter,但我認為他們將您的問題誤解為關于編碼約定(您應該做什么),而如果我理解正確的話,您問的是 Java 語言本身(您可以做什么)。
返回一個值并同時設置它對于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));
}
}
添加回答
舉報
0/150
提交
取消