草庐IT

$foreach

全部标签

java - Foreach 通过不同的对象但都实现相同的接口(interface)可能吗?

假设我有这个interfaceMovable{//somestuff}我有classCarimplementsMovable{//somestuff}也许我还有classBikeimplementsMovable{//somestuff}我注意到如果我有这个:ArrayListmovableThings=newArrayList();movableThings.add(somekindofCar)movableThings.add(somekindofBike)movableThings.add(somekindofBike)这可以称为:for(Movablem:movableThin

Java 流 forEach concurrentModificationException 异常行为

当我运行下面的代码时Listlist=IntStream.range(0,10).boxed().collect(Collectors.toList());list.stream().forEach(i->{System.out.println("i:"+i);if(i==5){System.out.println("..adding22");list.add(22);}});我得到以下输出:i:0i:1i:2i:3i:4i:5..adding22i:6i:7i:8i:9Exceptioninthread"main"java.util.ConcurrentModificationExc

forEach 循环期间的 java8 java.util.ConcurrentModificationException

我使用java8流。这是我的数据结构:Map>mmessage=getSomeMessage();然后我遍历map和列表:mmessage.entrySet().stream().forEach(entry->{entry.getValue().stream().forEach(li->{if(lis.indexOf(li)==-1){lis.add(lineItem);}});});但是得到并发修改异常:java.util.ConcurrentModificationExceptionatjava.util.ArrayList$ArrayListSpliterator.forEach

c# - Java 增强的 for 循环 VS .NET foreach 循环

我有一个问题,我还没有找到答案。假设我们在java或c#中有以下代码:classCar{/*carstuff*/}然后在Java中classTruckextendsCar{/*truckstuff*/}和C#classTruck:Car{/*truckstuffagain*/}在C#中,以下工作正常:ListcarList=newList();//addsomeobjectstothecollectionforeach(TrucktincarList)//dostuffwithonlytheTruckobjectsinthecarListcollection之所以可行,是因为Truck

java - JSTL 计算 ForEach 循环

我正在尝试为项目列表中的每4个项目打印一些消息但我遇到了异常,似乎i没有被视为数字java.lang.IllegalArgumentException:Cannotconvertjavax.servlet.jsp.jstl.core.LoopTagSupport$1Status@3371b822oftypeclassjavax.servlet.jsp.jstl.core.LoopTagSupport$1StatustoNumberatorg.apache.el.lang.ELArithmetic.coerce(ELArithmetic.java:407)atorg.apache.el.

java - 'for' 循环可替换为 'foreach'

我的代码是:ArrayListpeople=newArrayList();//people.add(...);//people.add(...);for(inti=0;i60.0)System.out.println(people.get(i).toString());}我收到以下警告:'for'loopreplaceablewith'foreach'我应该如何使用foreach修改循环?谢谢。 最佳答案 名为people的列表通常包含Person对象。下面是一些示例代码,展示了如何使用for-each循环:publicclassD

java - JSF 2 中 JSTL forEach 的问题

您好,我得到了以下代码:这失败了:java.lang.ClassNotFoundException:javax.servlet.jsp.jstl.core.LoopTagStatus我使用jSTL-impl-1.2.jar。有谁能帮我解决这个问题吗?谢谢马塞尔 最佳答案 我认为您缺少JSTL-apijar。类名搜索sonatype'snexus返回此Maven依赖项:javax.servletjstl1.1.2您可以downloaditfromthispage如果你不使用maven。您还可以使用Findjar.com寻找occurr

java - 将 foreach 重构为 for 循环

我在Java中有一个foreach循环(这里是简化版)Listnames=getNames();for(Stringname:names){doSomething(name);}有没有一种自动化的方法可以将其重构为传统的for循环?我知道如何手动完成Listnames=getNames();for(inti=0;i如您所见,for语句本身需要进行一些输入,还需要再次引入变量name并为其赋值名称.get(i)。总的来说,手动编辑对我来说太容易出错了。我为什么要这样做?我必须修复一个错误,修复方法是从索引1而不是索引0开始,并在索引n-1而不是结束处结束(不幸的是我无法立即修复输入,我需

Java:Foreach 循环在 int 数组上没有按预期工作?

这个问题在这里已经有了答案:Whydoestheforeachstatementnotchangetheelementvalue?(6个答案)关闭5年前。我有一个非常简单的循环:int[]positions={1,0,0}//printcontentofpositionsfor(inti:positions){if(i现在,我希望得到的是:array:1,0,0array:1,-1,-1但是我得到了array:1,0,0array:1,0,0只是……为什么?亲切的问候,水母

Java反向foreach

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Canonedoaforeachloopinjavainreverseorder?对于前向迭代:for(inti=0;i我可以将其编码为foreach:for(TpathElem:pathElements){.......}是否有一个开关让foreach可以反向迭代?for(inti=pathElements.length-1;i>=0;i--){TpathElem=pathElements[i];.......}foreach中有反向迭代开关吗?(如果没有,您不认为JDK8、9等包含此功能会是一个令人兴奋的