我刚刚遇到一些有点奇怪的代码,我想知道是否有人可以阐明为什么它会这样写。
我认为它与并发性有关——这样如果另一个线程访问它,变量就不能改变(因为变量更新不是原子的)。 或者它的速度(因为局部变量比类级变量快?)或者我在这里写的一切都是错的:)
哦,我说的不是匈牙利符号,我说的是方法内部的局部赋值。
public Class Space
{
private double m_dWidth = 0;
// Constructors & other methods omitted for readability
//...
public double getWidth()
{
double dWidth = m_dWidth;
return dWidth;
}
}
最佳答案
看起来编写代码的人误解了return
的工作原理。我的 Java 学生(大学一年级)普遍存在一种误解,即 return
仅适用于局部定义的变量,而不适用于任意表达式。
正如@Steve 所建议的,它也可能是旧的、更复杂的代码版本的后遗症。哪一个更有可能取决于您在哪里找到代码。
关于java - 奇怪的 Java 编码风格 - 为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20583322/