加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java Practice:返回作为参数传递的相同对象

发布时间:2020-12-14 23:46:52 所属栏目:Java 来源:网络整理
导读:在下面的代码中,updateWithContex返回与参数相同的对象是不是很糟糕? class SomeClass{ Foo updateWithContex(Foo foo){ foo.setAppId(i); foo.setXId(index); //..... return foo; }}class Foo{ public void setAppId(int appId) { // } public void setXI
在下面的代码中,updateWithContex返回与参数相同的对象是不是很糟糕?
class SomeClass{
   Foo updateWithContex(Foo foo){
       foo.setAppId(i);
       foo.setXId(index);
       //.....
       return foo;
   }
}

class Foo{

    public void setAppId(int appId)
    {
       //
    }
    public void setXId(int appId)
    {
        //
    }
    public void changeState(X x)
    {
       //
    }
}

在C中,我看到过这样的代码:

BigObject&
   fastTransform( BigObject& myBO )
   {
      // When entering fastTransform(),myBO is the same object as the function
      // argument provided by the user. -> No copy-constructor is executed.
      // Transform myBO in some way
      return myBO;   // Transformed myBO is returned to the user.
   }

这也错了吗?

解决方法

返回一个对象将建议您的API用户不会更改传入的对象,而是返回一个新的修改对象.为了清楚说明情况并非如此,我建议将返回类型更改为void.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读