只是对几乎没有想到的东西感到好奇,但我一直无法通过搜索找到答案。是否可以返回带有return
关键字的实例,并在同一行中的同一行中设置变量?
例如,我尝试这样做:
public Person randomPersonHeight(Person person){
Random r = new Random();
return person.height = 5+(r.nextFloat()*1.5);//Imperial Measurements baby!
}
我想设置人员的身高,然后一口气将人员返回。但这并不奇怪。当然,我可以单行完成它并不重要。而且,只是不会代表任何其他东西!..但是,我发现自己想知道有什么表达或其他格式可以实现这一点。
答案 0 :(得分:0)
你不能那样。
有一个常见的习惯用法,其中 setter方法返回对象本身,以使这样的事情成为可能。但是您不能仅使用语言的本机运算符来做到这一点。
当然,除非您写
person.height = 5+(r.nextFloat()*1.5); return person;
但是,如果您让代码自动格式化程序靠近它,它可能将无法生存...
答案 1 :(得分:0)
其他答案是关于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));
}
}