为了账号安全,请及时绑定邮箱和手机立即绑定

返回实例时设置实例变量

返回实例时设置实例变量

FFIVE 2023-05-17 16:36:05
只是对想到的一些小事感到好奇,但我一直无法通过搜索找到答案。是否可以返回一个带有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;

但是如果你让代码自动格式化程序靠近它,它可能无法生存......


查看完整回答
反对 回复 2023-05-17
?
慕容森

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));

    }



查看完整回答
反对 回复 2023-05-17
  • 2 回答
  • 0 关注
  • 73 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信