Java 5.0 泛型之 使用泛型统一传入的参数类型
package Demo;
// 使用泛型统一传入的参数类型
class Info28<T> {
private T var; // 此类型由外部决定
public T getVar() {
return this.var;
}
public void setVar(T var) {
this.var = var;
}
public String toString() { // 覆写Object类中的toString()方法
return this.var.toString();
}
}
public class GenericsDemo28 {
public static void main(String args[]) {
Info28<String> i1 = new Info28<String>();
Info28<String> i2 = new Info28<String>();
i1.setVar("99"); // 设置内容
i2.setVar("it"); // 设置内容
add(i1, i2);
}
public static <T> void add(Info28<T> i1, Info28<T> i2) {
System.out.println(" Key Of String : " + i1.getVar()
+ " / Value Of String : " + i2.getVar());
}
}
相关文档:
Java NIO API详解
在JDK
1.4以前,Java的IO操作集中在java.io这个包中,是基于流的阻塞(blocking)API。对于大多数应用来说,这样的API使用很方
便,然而,一些对性能要求较高的应用,尤其是服务端应用,往往需要一个更为有效的方式来处理IO。从JDK 1.4起,NIO
API作为一个基于缓冲区,并能提供非阻塞(non-blo ......
StringBuffer也是字符串,与String不同的是StringBuffer对象创建完之后可以修改内容。有如下构造函数:
n public StringBuffer(int);
n public StringBuffer(String);
n ......
在初始化一个类,生成一个实例的时候,newInstance()方法和new关键字除了一个是方法,一个是关键字外,最主要有什么区别?它们的区别在于创建对象的方式不一样,前者是使用类加载机制,后者是创建一个新类。那么为什么会有两种创建对象方式?这主要考虑到软件的可伸缩、可扩展和可重用等软件设计思想。
......
package Demo;
// 普通泛型
class Point<T> { // 此处可以随便写标识符号,T是type的简称
private T var; // var的类型由T指定,即:由外部指定
public T getVar() { // 返回值的类型由外部决定
return var;
}
public void setVar(T var) { // 设置的类型也由外部决定
this.var = var;
}
}
publi ......
通过Java反射调用方法
这是个测试用的例子,通过反射调用对象的方法。
TestRef.java
import java.lang.reflect.Method;
import java.lang.reflect.InvocationTargetException;
/**
* Created by IntelliJ IDEA.
* File: TestRef.java
* User: leizhimin
* Date: 2008-1-28 14:48:44 ......