返回实例时设置实例变量

只是对想到的一些小事感到好奇,但我一直无法通过搜索找到答案。是否可以返回一个带有return关键字的实例,并在同一行中在该实例中设置一个变量?


例如,我尝试这样做:


public Person randomPersonHeight(Person person){

     Random r = new Random();

     return person.height = 5+(r.nextFloat()*1.5);//Imperial Measurements baby!

}

我想设置人的身高并一口气返回人。但没有奏效也就不足为奇了。当然,我可以在一行中完成并不重要。而且,只是不会代表任何更少!..但是,我发现自己想知道有任何表达或不同的格式可以使它成为可能。


FFIVE
浏览 97回答 2
2回答

不负相思意

你不能那样做。有一个常见的习惯用法,其中setter 方法返回对象本身,使这样的事情成为可能。但是您不能仅使用该语言的本机运算符来做到这一点。当然,除非你写 person.height = 5+(r.nextFloat()*1.5); return person;但是如果你让代码自动格式化程序靠近它,它可能无法生存......

慕容森

其他答案谈到了 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));    }} 
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java