繁体   English   中英

Java-空的int数组

[英]Java - Empty int array

我需要传递一个空的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 [] {}”以外的其他解决方案都是棘手的代码。 不要试图幻想一个简单的“空整数数组”创建,这只会给阅读代码的人带来痛苦。

现在,我不想就您对替代方案的兴趣谈得不好,我只想避免您将此类代码投入生产。 我希望这个消息能到来。

试试这个

int[] array = IntStream.empty().toArray();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM