只是对想到的一些小事感到好奇,但我一直无法通过搜索找到答案。是否可以返回一个带有return关键字的实例,并在同一行中在该实例中设置一个变量?例如,我尝试这样做:public Person randomPersonHeight(Person person){ Random r = new Random(); return person.height = 5+(r.nextFloat()*1.5);//Imperial Measurements baby!}我想设置人的身高并一口气返回人。但没有奏效也就不足为奇了。当然,我可以在一行中完成并不重要。而且,只是不会代表任何更少!..但是,我发现自己想知道有任何表达或不同的格式可以使它成为可能。
2 回答
不负相思意
TA贡献1777条经验 获得超10个赞
你不能那样做。
有一个常见的习惯用法,其中setter 方法返回对象本身,使这样的事情成为可能。但是您不能仅使用该语言的本机运算符来做到这一点。
当然,除非你写
person.height = 5+(r.nextFloat()*1.5); return person;
但是如果你让代码自动格式化程序靠近它,它可能无法生存......
慕容森
TA贡献1853条经验 获得超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
提交
取消