java - 有什么理由只为 1 个元素创建一个数组吗?

标签 java arrays double

我刚刚找到了这个代码片段,想知道是否有任何特定原因将该值存储在 double 1 中数组而不是“普通”双变量?

double[] potentialEnergy = new double[1];

if (potentialEnergy[0] != 0.0)
    throw new RuntimeException(); 

此外,实际上是否存在 double 的初始值不为 0.0 的情况,因此您需要专门检查这一点?

上下文:我最近开始阅读有关图形可视化的内容,并偶然发现了 sourcecode kamada/kawai 力导向算法的实现。在那里,从第 311 行开始,我找到了这 3 行代码,但没有发现它是数组的任何原因:

最佳答案

Is there any reason to create an array for only 1 element?

是的:如果您将其传递到一个方法中,该方法将通过将其放入数组中来提供值(而不是通过返回它来提供值,可能是因为它返回一些其他值)。

概括地说:如果您将其提供给需要数组的 API,即使它只是一个单元素数组。

Also, are there actually any cases where the initial value of a double is not 0.0 so you need to check that specifically?

不,新分配的数组包含所有位都关闭的元素(当它是 double 数组时为零,或者是任何其他数字类型的数组,包括 char ]、false(对于 boolean 数组)和 null(对于引用类型数组)。

关于java - 有什么理由只为 1 个元素创建一个数组吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53747686/

相关文章:

c++ - C++ 中的取消引用结构数组项

python - 如何从任意长度的列表中获取列?

双重自由或腐败的代码

arrays - 数组中的条件和

c++ - 将 double 指数的可移植打印到 C++ iostreams

java - java中的代码执行顺序

java - 在您的域中使用 Google 应用程序

java - Java中循环对象的垃圾收集

java - MultipartEntityBuilder 将图片发送到铁路服务器

java - java中的公共(public)变量和方法参数可以使用相同的名称吗?