内容来着《Offer来了:Java面试核心知识点精讲》
泛型方法指将方法的参数类型定义为泛型,以便在调用时接收不同类型的参数。在方法的内部根据传递给泛型方法的不同参数类型执行不同的处理方法,具体用法如下:
public static void main(String[] args) {
generalMethod("1",2, new Wroker());
}
//定义泛型方法generalMethod, printArray为泛型参数列表
public static < T > void generalMethod( T ... inputArray )
{
for ( T element : inputArray ){
if (element instanceof Integer) {
System.out.println("处理Integer类型数据中...");
} else if (element instanceof String) {
System.out.println("处理String类型数据中...");
} else if (element instanceof Double) {
System.out.println("处理Double类型数据中...");
} else if (element instanceof Float) {
System.out.println("处理Float类型数据中...");
} else if (element instanceof Long) {
System.out.println("处理Long类型数据中...");
} else if (element instanceof Boolean) {
System.out.println("处理Boolean类型数据中...");
} else if (element instanceof Date) {
System.out.println("处理Date类型数据中...");
}
else if (element instanceof Wroker) {
System.out.println("处理Wroker类型数据中...");
}
}
}
以上代码通过public static < T > void generalMethod( T ...inputArray )定义了一个泛型方法,该方法根据传入数据的不同类型执行不同的数据处理逻辑,然后通过generalMethod("1",2, newWroker())调用该泛型方法。注意,这里的第1个参数是String类型,第2个参数是Integer类型,第3个参数是Wroker类型(这里的Wroker是笔者自定义的一个类),程序会根据不同的类型做不同的处理。