Java - 空int数组

时间:2018-02-06 23:13:08

标签: java

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

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

但是,无论如何都采用以下方法?

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

方法签名

public void checkVersions(final int[] versions)

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

由于

2 个答案:

答案 0 :(得分:4)

这可能被视为问题的主题,但我仍然想为您提供以下内容:

当您编写代码时,您应该以尽可能简单的方式编写代码,以便稍后对那些不知道代码应该做什么的人进行读取

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

我会评价(个人思考!)其他解决方案而不是“new int [0]”或“new int [] {}”是棘手的代码。不要试图用简单的“空整数数组”创建,这只会给读取代码的人带来痛苦。

现在,我不想谈论你对替代品的兴趣,我只想避免你把这些代码投入生产。我希望这条消息能够出现。

答案 1 :(得分:3)

尝试这个

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