如何用返回值编写Java方法

时间:2019-12-10 13:52:49

标签: java

有时我不确定应该使用哪个变体。我的意思是第二种方法比第一种更好吗?首先,我认为它需要更多的存储空间,因为我要存储更多的变量。出于简洁的代码原因,您希望使用哪个?为什么?我的合理是对还是错?

public double area(){
    double area = 2 * radius * radius;
    return area;
}

public double area(){
    return 2 * radius * radius;
}

2 个答案:

答案 0 :(得分:1)

这可能与基于意见的回答...

从产生的机器代码来看,这两个变体都是相同的(至少在JVM经过优化后)。因此,唯一的区别在于人类可读性。

现代样式指南和工具偏爱第二种变体,因为它读起来不够清晰。现代的(静态代码分析)工具和IDE(使用这些工具)会将第一个标记为“死存储”(例如,声纳)或“冗余”(例如,智能IDE)。

答案 1 :(得分:0)

从JVM的角度来看,两个版本的代码都编译为相同的字节码(经过优化)。因此,有两个原因让我更喜欢第一个版本:

  1. 显然更容易阅读
  2. 调试时,您可以在第return area;行处停止操作,并在退出方法之前检查该值。在第二个版本中,您无法在从方法返回之前检查返回的值