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.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |