传智播客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
相关文档:
类的初始化和对象初始化是 JVM 管理的类型生命周期中非常重要的两个环节,Google 了一遍网络,有关类装载机制的文章倒是不少,然而类初始化和对象初始化的文章并不多,特别是从字节码和 JVM 层次来分析的文章更是鲜有所见。
本文主要对类和对象初始化全过程进行分析,通过一个实际问题引入,将源代码转换成 JVM 字节码后, ......
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我的 ......
javabean+数组优点:
1、简单:java程序中最简单的类莫过于javabean,javabean有一套成熟的规范,易于编写
2、方便:javabean是数据的载体,既可以通过set和get方式来操作数据,又可以象使用数组一样来操作javabean
3、通用:通过下标来操作javabean,你所写的代码将是通用的,可移植的。你所写的功能组件将适用于所有的 ......
一、反射(Reflect)
反射就是把Java类中的各种成分映射成一个个的java对象。例如,一个类有:成员变量,方法,构造方法,包等等信息,利用反射技术可以对一个类进行解剖,把各个组成部分映射成一个个对象。映射成对象后,就可以调用对象的方法对其操作了。与反射相关的重要的类有Cl ......