java语法糖之foreach-编程开发技术

java语法糖之foreach-编程开发技术

ID:30769198

大小:255.92 KB

页数:16页

时间:2019-01-03

java语法糖之foreach-编程开发技术_第1页
java语法糖之foreach-编程开发技术_第2页
java语法糖之foreach-编程开发技术_第3页
java语法糖之foreach-编程开发技术_第4页
java语法糖之foreach-编程开发技术_第5页
资源描述:

《java语法糖之foreach-编程开发技术》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、Java语法糖Zforcach-编程开发技术Java语法糖之foreach原文出处:朱小厮语法糖是一种几乎每种语言或多或少都提供过的一些方便程序员开发代码的语法,它只是编译器实现的一些小把戏罢了,编译期间以特定的字节码或者特定的方式对这些语法做一些处理,开发者就可以直接方便地使用了。这些语法糖虽然不会提供实质性的功能改进,但是它们或能提高性能、或能提升语法的严谨性、或能减少编码出错的机会。Java提供给了用户大量的语法糖,比如泛型、自动装箱、自动拆箱、foreach循环、变长参数、内部类、枚举类、断言(assert)等。本篇主要是讲解foreach

2、,foreach的语法经过编译Z后解析成什么呢?首先来看一个例子:packageforeach;importjava.util.ArrayList;importjava.util.List;publicclassForeachTest{publicstaticvoidmain(String[]args){Lising>list二newArrayLislist.add("sl〃);list.addC,s2,/);for(Strings:list){System,out.println(s);}对这个类进行反编译:javacForeachTest.ja

3、vajavap-verboseForeachTest>fl.txt打开fl.txt,结果如下所示:Classfile/D:/workspace_jee/JavaTest/src/foreach/ForeachTest・classLastmodified2016-2-25;size798bytesMD5checksumc64e6f81f34dldfc7834ad8d5b3bl801Compiledfrom^ForeachTest.java"publicclassforeach.ForeachTestSourccFilc:^ForeachTest・ja

4、va,zminorversion:0majorversion:51flags:ACC_PUBLIC,ACC_SUPERConstantpool:////java/uti1/ArrayList////si////s2//#1=Mcthodrcf#14.#26java/lang/Object.()V#2=Class#27#3二Methodref#2.#26java/util/ArrayList.z,,z:()V#4=String#28#5=InterfaceMethodref#29.#30java/util/List.add:(Ljava/

5、lang/Object;)Z#6二String#31#7二InterfaceMethodref#29.#32java/util/List・iterator:()Ljava/util/Itcrator;#8=InterfaceMethodref#33.#34//java/util/Iterator・hasNext:()Z#9二InterfaceMethodref#33.#35//java/uti1/Iterator,next:()Ljava/1ang/Object;#10=Class#36//java/1ang/String#11=Fieldref#

6、37.#38//java/lang/System.out:Ljava/io/PrintStream;#12二Methodref#39.#40//java/io/PrintStream.printin:(Ljava/1ang/String;)V#13=Class#41//forcach/ForcachTcst#14=Class#42//java/lang/Object#15=Utf8#16二Utf8()v#17二Utf8Code#18=Utf8LincNumbcrTab1c#19=Utf8main#20=Utf8([Ljava/lang/

7、String;)V#21二Utf8StackMapTable#22二Class#43//java/uti1/List#23=Class#44//java/util/Iterator#24=Utf8SourceFile#25=Utf8ForeachTest.java#26二NameAndType#15:#16//,z,z:()V#28=Utf8si#29二Class#43//java/util/List#30二NameAndType#45:#46//add:(Ljava/lang/Objcct;)Z#31=Utf8s2#32=NameAn

8、dType#47:#48//iterator:()Ljava/util/Iterator;#33=Class#44//ja

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。