当前位置: 首页 > 面试题库 >

Java中的for-each表达式翻译成什么?

岑光熙
2023-03-14
问题内容

for ( SomeListElement element : objectWithList.getList() ) { … }

上面的摘录翻译成什么?

我最感兴趣的是该getList()方法调用一次还是每次迭代/元素调用一次?


问题答案:

它相当于

for(Iterator<SomeListElement> i = objectWithList.getList().iterator(); 
                                                              i.hasNext(); ) {
  SomeListElement element = i.next();
  //access element here
}


 类似资料:
  • 问题内容: 考虑以下Java 8代码段。 什么是越来越编译? 我知道Lambda并没有实现为匿名内部类。但是,因此接口必须在生成某种对象,但是尚不清楚在生成哪种对象。 Java 8中是否存在某种表示lambda表达式的新型对象? 更新 这是经过反编译的程序,该程序已使用eclipse java 8编译器编译,当您打开类文件时,以下输出来自eclipse。 看起来lambda表达式已变成包含lamb

  • 问题内容: 在C#中,您可以将lambda表达式包含在表达式树对象中,然后可能对其进行解析。我想知道在Java中这是否还可以吗? 我正在寻找的是做这样的事情: 然后,应该基于指定为lambda的谓词以某种方式将该查询转换为以下RESTful API请求: 然后将结果返回给客户端。知道这在Java中是否可行? 问题答案: 是的,有可能。我制作了一个库来做到这一点:JaQue

  • 我试图创建一个使用Java的lambda表达式的示例,我使用的是官方的JDK8。我的例子运行成功。但是当我试图检查编译器如何将lambda表达式翻译成字节代码时,这让我有些困惑。下面是我的示例的代码:- 在本文中,他们讨论了编译器如何将lambda表达式转换为字节码。根据本文将lambda表达式转换为方法以及lambda表达式声明的位置,有lambda方法的引用。下面的例子在文章中: 我的例子运行

  • 变量计数器是什么类型的?var或val。 答案是Val。现在显而易见的问题是,如果是Val,那么输出是0,。。。,9.这意味着“计数器”变量的值在每次迭代中都会发生变化,即计数器每次都会被重新分配到不同的值。 “计数器”变量的值在每次迭代中都会改变”--正确的“计数器每次都被重新分配到不同的值”--错误 哎呀。怎么可能?让我们看看JVM是如何工作的(对于scala和java) x=new水果(“苹

  • 我知道我们可以使用来遍历,我们也可以使用来遍历。我不明白在Java8中遍历哪个更好。

  • 文档结构 每一篇文章分为五个部分:中英对照表、正文、引用、注解、总结; 中英对照表:文章中出现过的专用名词在中英对照表中说明,使用list方式呈现。 正文:正文位于第二部分,参考下边正文部分内容。 引用:如果系统中存在外部链接,使用引用格式处理,引用使用脚标(参考本文最下边):[1]。 注解:注解中添加一些作者辅助理解的文字说明,正文保持干净整洁,注解可直接参考注解部分,使用圆括号:(1)。 总结