List,:list的用法,generis新特性----调试通过
来源:互联网 发布:凯立德端口配置修改器 编辑:程序博客网 时间:2024/05/09 05:07
下面的程序很容易理解的,加以两个程序的对比,相信很容易理解generis特性。
OldList.java
/**
* @author roson
*
*
*/
package collection;
import java.util.*;
public class OldList {
private void testList()
{
List list=new ArrayList();
list.add(new String("HelloWorld!"));
list.add(new String("goodbye!"));
list.add(new Integer(95));
printList(list);
}
private void printList(List list)
{
Iterator i=list.iterator();
while(i.hasNext())
{
String item=(String)i.next();
System.out.println("Item:"+item);
}
}
public static void main(String[] args) {
OldList old=new OldList();
old.testList();
}
}
能通过编译,但是当执行到第三个打印时将报错。
NewList.java
/**
* @author roson
*
*
*/
package collection;
import java.util.*;
public class NewList {
private void testNew()
{
List<String> list=new ArrayList<String>();
list.add(new String("HelloWorld!"));
list.add(new String("Goodbye!"));
//list.add(new Integer(95)); 这里不能增加整形
printList(list);
}
private void printList(List list)
{
Iterator<String> i=list.iterator();
while(i.hasNext())
{
String item=i.next();
System.out.println("Item:"+item);
}
}
public static void main(String[] args) {
NewList list=new NewList();
list.testNew();
}
}
在这里如果加入注释的那句,将不能通过编译,不至于在运行时报错。有利于提前检查出错误。
OldLoop.java
/**
* @author roson
*
*
*/
package collection;
import java.util.*;
public class OldLoop {
public static void main(String[] args) {
List list=new ArrayList();
list.add(new String("HelloWorld!"));
list.add(new String("goodbye!"));
for(Iterator i=list.iterator();i.hasNext();)
{
String item=(String)i.next();
System.out.println("Item:"+item);
}
}
}
NewLoop.java
/**
* @author roson
*
*
*/
package collection;
import java.util.*;
public class NewLoop {
public static void main(String[] args) {
List<String> list=new ArrayList<String>();
list.add(new String("HelloWorld!"));
list.add(new String("Goodbye!"));
for(String str:list) //比以前简单多了吧
{
System.out.println("Item:"+str);
}
}
}
从以上两个程序可以容易看出,第二个简单多了 : )
讨论:
这里只以list为例,当然还有其它啦,比如 HashMaps,LinkLists 等Collection 。
J2se5.0还有很多地方改善,这里就不多说了。不过可以参考英文文档 j2se5 Nutshell 和 j2se5 .一开始还觉得generis不好,但是看到jbss中有用到也觉得简单于是就看了下文档了,真的很方便噢。不妨一试!
- List,:list的用法,generis新特性----调试通过
- J2se5.0 generis新特性
- 使用JDK的新特性遍历list中所有数据
- Java 集合 List、Set、Map的特性、区别、用法
- List和ListIterator的常见用法及特性
- list取前几条放入新的list
- python list的一些特性
- list的部分用法
- List Control的用法:
- list control的用法
- list的用法
- list control的用法
- list control的用法
- C++ List的用法
- java List的用法
- C++ List的用法
- java List的用法
- List的用法
- 如何向数据库中插入包含单引号的记录
- C#实现主窗体工具栏上按钮两幅图片的交互效果
- C#简单实现的远程命令程序
- 关于linux中mysql中编码的问题(UTF-8)
- C#实现web信息自动抓取
- List,:list的用法,generis新特性----调试通过
- 用c#绘制Office2003样式的菜单
- The third day in the new company called ehealth-china
- 使用C#获得系统信息
- 在ASP.Net中使用FCKeditor http://lywzn.blog.sohu.com/52513094.html
- Linux下压缩命令tar和gzip的参数介绍
- GDB调试精粹及使用实例
- js基础到精通全面教程
- ireport生成pdf时的中文问题