传智播客2009 12 24 三、java基础加强(3)
一、泛型(Generic)
JDK5以前,对象保存到集合中就会失去其特性,取出时通常要程序员手工进行类型的强制转换,这样不可避免就会引发程序的一些安全性问题
Ø泛形的作用:
JDK5中的泛形允许程序员在编写集合代码时,就限制集合的处理类型,从而把原来程序运行时可能发生问题,转变为编译时的问题,以此提高程序的可读性和稳定性(尤其在大型程序中更为突出)。
注意:泛型是提供给javac编译器使用的,它用于限定集合的输入类型,让编译器在源代码级别上,即挡住向集合中插入非法数据。但编译器编译完带有泛形的java程序后,生成的class文件中将不再带有泛形信息,以此使程序运行效率不受到影响,这个过程称之为“擦除”。
Ø泛型典型应用:
1、 使用迭代器迭代泛形集合中的元素。
Eg. List<String> list = new ArrayList<String>();
list.add("Acegi");
list.add("Red5");
list.add("OpenMeettings");
Iterator<String> it = list.iterator();
while(it.hasNext()){
String bookname = it.next();
… …
}
2、使用增强for循环迭代泛形集合中的元素。
Eg. for(String bookname : list){
… …
}
3、存取HashMap中的元素。
Eg. Map<Integer,String> map = new HashMap<Integer,String>();
map.put(1, " Acegi ");
map.put(2, " Red5");
map.put(3, " OpenMeettings ");
S
相关文档:
public class Factory {
private static Factory factory;
private static Object classLock=Factory.class;
private Factory(){}
public static Factory getFactory(){
synchronized(classLock){
......
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
public class test {
public static void main(String[] args) {
ArrayList<ArrayList<Integer>> list = getArrays(1, 20, 30);
Iterator<ArrayList<Integer>> iter = list.itera ......
package test;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class Test {
public static void main(String arg[]) {
String fileName = "E:\\share\\test.txt";
String writeData = "HelloWorld!\r\nnihao我的 ......
本人正在学习Java,那些知识点都学得很好,但一旦要我用所学的知识做个项目出来我就无从下手,不知道从哪里做起才好!一方面的原因是我的阅读量太少了,二者经验不足!我正焦急着怎么改变我这种状态,所以想找些做项目的教材来自学,但真不知道该看哪些教材好,所以在此向各位项目高手请教,请给我一些建议或推荐给我一些教 ......
今天是上课的第一天,新的老师、新的同学、新的环境,一切都是新的,从今天起我将在众多java大师的悉心辅导下进行为期四个月的魔鬼学习,以求使自己有一个脱胎换骨的变化,为自己将来的工作和生活奠定一个坚实的基础。
“工欲善其事,必先利其器”,对于MyEclipse的学习和使用就显得尤为重要:
&nb ......