想象一个场景,我们只需要为单个方法调用创建一个对象。以下哪一项是更好的编码实践以及原因:
将对象放入变量中:
Foo foo = new Foo(); int val = foo.getVal();
优点:在异常处理的情况下,我们可以将构造函数中的异常与
getVal()
函数中的异常隔离开来。
缺点:一个额外的变量。直接在结果上调用方法:
int val = new Foo().getVal();
优点:不需要额外的变量。
缺点:如果发生异常,更难判断是构造函数还是方法抛出了。
想象一个场景,我们只需要为单个方法调用创建一个对象。以下哪一项是更好的编码实践以及原因:
将对象放入变量中:
Foo foo = new Foo();
int val = foo.getVal();
优点:在异常处理的情况下,我们可以将构造函数中的异常与getVal()
函数中的异常隔离开来。
缺点:一个额外的变量。
直接在结果上调用方法:
int val = new Foo().getVal();
优点:不需要额外的变量。
缺点:如果发生异常,更难判断是构造函数还是方法抛出了。