将java方法作为参数传递或创建方法局部变量

时间:2017-08-18 16:31:19

标签: java

请查看下面的选项-1和选项-2。

我有一些经验丰富的人告诉我,选项-1是最佳和推荐的方式,因为它提高了可读性。此外,有助于在调试会话期间了解变量值。

但是,选项-2删除了以下可能性:

  • 避免不必要的局部变量创建和额外的代码行
  • 意外更改对象状态,因为有人可以调用t.someMethod(..)来更改对象的状态t
  • t意外分配给另一个实体实例(当然可以使用变量t声明的最终关键字来避免这种情况。)

请让我知道广泛接受的方式。

选项-1:

public void method()
{
   Entity t = method1();
   method2(t);
}

选项-2:

public void method()
{
   method2(method1());
}

0 个答案:

没有答案