Java - 空整数数组

标签 java

我需要传递一个空的 int 数组。

new int[]{} -> 这有效。

但是,到底有没有下面的方法呢?

Collections.emptyList().toArray() -> 我无法将其转换为 int[] 数组。

方法签名,

public void checkVersions(final int[] versions)

这是要调用的方法。在某些情况下,我需要传递一些空的 int[]。

谢谢

最佳答案

这可能被认为是题外话,但我仍然想为您提供以下想法:

当您编写代码时,您应该以一种尽可能简单的方式编写它,以便以后那些不知道代码应该做什么的人阅读

因此,“new int[0]”或“new int[]{}”比“IntStream.empty().toArray()”要好得多。为什么?因为前两个清楚地表明您正在构造一个 int[] 并且它是空的。当您第一次看到 IntStream 时,使用 IntStream 的后续解决方案需要更多思考(因此具有更高的认知负荷),其中创建了空流。然后将这个空的整数流转换为数组。因此,您看不到正在创建的数据类型,并且有一个额外的步骤(转换)。

我认为(个人想法!)除“new int[0]”或“new int[]{}”之外的其他解决方案是棘手的代码。不要试图幻想创建一个普通的“空整数数组”,它只会给阅读代码的任何人带来痛苦。

现在,我不想谈论您对替代方案的兴趣,我只想避免您将此类代码投入生产。我希望这条消息出现了。

关于Java - 空整数数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48653474/

相关文章:

java.security.AccessControlException : Occured when Running an applet

java - 如何在 Play 框架 2 中格式化输入值?

java - 使用 3 个线程将元素添加到 5 个 ArrayList : the sum of the arraylist's size is always different

java - spring mvc转发到jsp

java - 将行追加到矩阵的最佳方法是什么?

java - 如何从java中的XML文档中删除XML标签

java - 简单的 TCP 客户端-服务器应用程序抛出异常

java - 用于编辑 TextView 大小、样式的按钮

java - 与java应用程序的接口(interface)DLL,如何?

java - 高抽象级别方法中的异常