我刚刚找到了此代码段,并想知道是否有任何特定原因将值存储在double 1数组中,而不是仅存储“ double”变量中?
double[] potentialEnergy = new double[1];
if (potentialEnergy[0] != 0.0)
throw new RuntimeException();
此外,实际上是否存在双精度值的初始值不为0.0的情况,因此您需要进行专门检查?
对于上下文:最近,我开始阅读有关图形可视化的文章,偶然发现sourcecode为kamada / kawai力导向算法的实现。在那儿,从311行开始,我找到了那三行代码,却没有找到将其作为数组的任何理由:
答案 0 :(得分:1)
有什么理由只为1个元素创建一个数组吗?
是:如果将其传递给将通过将其放入数组中来提供值的方法(而不是通过返回值来提供值,可能是因为它返回了其他值)。
概括地说:如果您将其提供给需要数组的API,即使它只是一个单元素数组。
此外,实际上是否存在双精度值的初始值不为0.0的情况,因此您需要进行专门检查?
否,新分配的数组包含所有位都关闭的元素(当它是double
数组[或任何其他数字类型的数组,包括char
],{{1}时为零}用于false
的数组,boolean
用于引用类型的数组。