我需要传递一个空的int数组。
new int[]{}
- >这很有效。
但是,无论如何都采用以下方法?
Collections.emptyList().toArray()
- >我无法将其转换为int []数组。
方法签名
public void checkVersions(final int[] versions)
这是要调用的方法。有些情况下我需要传递一些空的int []。
由于
答案 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();