`
linxizeng
  • 浏览: 101945 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Tiger学习 之 for/in

阅读更多
一.抛弃Iterator
for/in语句排除了使用Iterator类的使用。
		List<String> list = new ArrayList<String>();
		list =getList();
		for(String string: list){
			System.out.println("======: "+ string );
		}

		for(Iterator i = list.iterator(); i.hasNext();){
			String string = (String)i.next();
			System.out.println("======: "+ string );
		}

语法
引用

for(declaration : expression)
statment


其实编译器会把它编译成普通的for循环处理的,因此,Tiger的for/in仅仅是让你少打点字,没有什么其他的优势....but注意:

expression必须是Array或者一个实现Iterable接口的对象,且能分配兼容于declaration中声明的变量类型(之执行一次)

declaration是由类型和变量组成的(必须在循环中声明)。可以采用annotation和final修饰符(防止循环变量采用任何非循环做指点的expression值和强调expression值不能通过循环变量来修改)

二. Over array
很简单..
引用

int[] array = new int[]{1,2,3,4,5,6,7,8,9,0};
for(int i :array){
System.out.println("======: "+ i );
}

当然,对象数组一样可以...

三. Over Collection
跟over rarray一样...仅仅多了需要转换类型..那么

避免不需要的类型转换----声明collection的时候使用generic(泛型)吧!

四. 让自己的Class也可以for/in
一、 继承之Array或Collection类吧..
引用
public class myList extends LinkedList{...}

二、实现Iterable接口吧,这个需要你手动处理iteration...
引用
public class myList implements Iterable{...}


五. 一写for/in无法办到的事情
for/in很方便,but
1.无法判断访问list位置,(例如字符串合并时,最后一个连接字符的处理)
2.无法访问list本身变量,(例如在循环时removme某一元素)
3.反向array或collection元素
4.调用get而不是调用iterator来iterate list的元素
5......
分享到:
评论

相关推荐

    JAVA 5.0 TIGER程序高手秘笈.rar

    JAVA 5.0 TIGER程序高手秘笈 generic enumerated类型 autboxing和unboxing verarg annotation for/in语句等等

    runtime library [libssl.so.1.1] in /usr/lib/x86_64-linux-gnu may be hidden by files in:/home/

    runtime library [libssl.so.1.1] in /usr/lib/x86_64-linux-gnu may be hidden by files in: /home/rw/anaconda3/lib 首先查看路径,可以看到返回结果中,第一个查找路径是anaconda的。 export $PATH bash: export...

    Voice Activity Detection in the Tiger Platform

    Voice Activity Detection in the Tiger Platform.pdf--etd

    打包安装程序Tiger

    Tiger Installer是一个在强大的功能和简单易用两个特性中寻找平衡的安装制作软件。它有以下几个特点:1.安装对象和安装界面分离。安装对象是用户希望安装在客户机器上的各种对象,包括系统的信息(名称、版本、发行者...

    Tiger语言语法手册

    tiger语言的语法手册,拿《Modern Compiler》做编译原理课程设计的必备哦~~~

    Tiger办公1216.apk

    Tiger办公1216.apk

    Ebooks For Dummies Collection

    Buying A Property In Eastern Europe For Dummies.pdf Buzz Marketing With Blogs For Dummies.pdf C: C For Dummies.pdf C # Sharp 2005 For Dummies Oct 2005 Ebook-ling.pdf C++ For Dummies 5th Ed.pdf C++ ...

    Tiger_Touch中文说明书

    泰坦Tiger_Touch中文说明书 珍珠(Pearl)Tiger Touch 控制台是Avolites最新推出的一款灯光控制台,Avolites的灯光控制台从使用普及性来说应该是最广的。本着参与交流的意愿,以自己的行业经验,和略懂的英文知识,...

    字体-Symbol-Tiger-Expert

    使用于win7系统字体文件缺失导致数学符号无法使用的现象。

    tiger-x86.tar.bz2种子

    支持pc的mac操作系统,这是安装Mac OS所必须的镜像原文件!

    JDBC存图片例子 oracle

    password = "tiger"; //第一步,加载驱动程序 Class.forName("oracle.jdbc.driver.OracleDriver"); //第二步,获得数据库连接对象 con = DriverManager.getConnection(url,user,password); System...

    JAVA 5.0 TIGER程序高手秘笈.

    JAVA 5.0 TIGER程序高手秘笈.

    Tiger Update实现自动更新

    Tiger Update控件使用指南 Tiger Update是Tiger Installer安装制作软件附带的一个控件,它可以帮助 你轻松地在你的软件上加入自动更新功能。这个控件是免费而且开放源代码的。 Tiger Update实现自动更新实现的原理...

    《Java5.0 Tiger》书籍源码

    Java5.0 Tiger 程序员高手秘笈一书的源代码,很有学习价格,这是完整的配书源码。

    Tiger Installer

    Tiger Installer 是一个具有强大的功能而又简单易用的安装程序制作(EXE打包)软件。

    Tigerboard-II硬件说明.pdf

    Tigerboard-II硬件说明.pdf

    tiger_install

    tiger_install 本软件是专为用Delphi 开发的程序制作安装程序用的,很方便实用,操作简单

    2021年环卫考察学习总结-tiger.docx

    2021年环卫考察学习总结-tiger.docx

    NoSQL数据库tiger.zip

    erlang开发的开源高可靠性nosql数据库tiger介绍可靠性: 写:对于n=2f 1 机器集群,在f台机器宕机的情况下可写 读:只要是没有宕机的机器都是可读的一致性: 强一致性扩展性: 读的能力可以线性扩展 功能: ...

    jdk1.5 tiger java5 新特性

    jdk1.5 tiger java5 新特性

Global site tag (gtag.js) - Google Analytics