【问题标题】:Enhanced loop for primitives [duplicate]基元的增强循环[重复]
【发布时间】:2023-03-04 13:12:01
【问题描述】:

是否有任何可用于原语的短增强形式的 for 循环。 我已经完成了循环到原语的遗留代码,像这样

for(int i=0; i<10; i++){
}

虽然对于对象,我们已经增强了类似 for 循环

for(MyObject m : myObjectList){
}

原语也有类似的选择吗?

【问题讨论】:

  • 如果您在询问几秒钟后就找到了解决方案(至少您认为解决方案是什么),那么为什么还要询问呢?
  • for (int x : collection) 适用于int[] 数组和List&lt;Integer&gt; 列表,尽管后者在遇到null 时会抛出NPE。
  • 你们试过这个int[] aa ={1,2,3}; for (int i : aa) { System.out.println(i); }
  • 一个数组可以工作。但是仅仅为此创建数组是个坏主意

标签: java for-loop iteration primitive-types listiterator


【解决方案1】:

找到解决办法,java 8 中的 IntStreams 可以利用 IntStream.range() 替换常规的 for-loop

IntStream.range(1, 4)
.forEach(System.out::println);

【讨论】:

  • 这不是“增强的 for 循环”。这是使用完全不同的 API。
  • @Tunaki 您标记的副本似乎完全不同关于同一主题的问题......也许这更适合stackoverflow.com/questions/266570/…但是......
猜你喜欢
  • 2013-05-13
  • 2015-12-13
  • 1970-01-01
  • 2020-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-04
相关资源
最近更新 更多