Java practice: returns the same object passed as a parameter

In the following code, isn't it bad that updatewithcontext returns an object with the same parameters?

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)
    {
       //
    }
}

In C, I have seen such code:

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.
   }

Is that wrong?

Solution

Returning an object will advise your API users not to change the incoming object, but to return a new modified object To make it clear that this is not the case, I suggest changing the return type to void

The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
分享
二维码
< <上一篇
下一篇>>