首先来理解什么是泛? 那我们就可以想到英语中a和the的区别
还有例如导包中的*是一个通配符,意思是导入该包中所有的方法,但是不一定用,
通配符可以减少导包数,同理泛型构造函数可以减少代码量,而且更有利于查错。
不使用泛型写函数
public class MainClass {//5.2
public static void printArray(Integer[] inputArray) {
for (Integer element : inputArray){
System.out.printf("%s ", element);
System.out.println();//换行
}
}
public static void printArray(Double[] inputArray) {
for (Double element : inputArray){
System.out.printf("%s ", element);
System.out.println();
}
}
public static void printArray(Character[] inputArray) {
for (Character element : inputArray){
System.out.printf("%s ", element);
System.out.println();
}
}
public static void main(String args[]) {
Integer[] integerArray = { 1, 2, 3, 4, 5, 6 };
Double[] doubleArray = { 1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7 };
Character[] characterArray = { 'H', 'E', 'L', 'L', 'O' };
System.out.println("输出整型数组:");
printArray(integerArray);
System.out.println("\n输出双精度型数组:");
printArray(doubleArray);
System.out.println("\n输出字符型数组:");
printArray(characterArray);
}
}
使用泛型写函数
public class MainClasst {
public static void main(String args[]){
Integer[] integerArray = { 1, 2, 3, 4, 5, 6 };
Double[] doubleArray = { 1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7 };
Character[] characterArray = { 'H', 'E', 'L', 'L', 'O' };
System.out.println("输出整型数组:");
printArray(integerArray);
System.out.println("\n输出双精度型数组:");
printArray(doubleArray);
System.out.println("\n输出字符型数组:");
printArray(characterArray); }
//泛型
public static <E> void printArray(E[] inputArray){ //E也可以是T,等等字母
//输出
for(E element : inputArray){
System.out.printf("%s ",element);
System.out.println();
}
System.out.println();
}
}
回顾一下快捷键syso(alt+/)enter得到System.out.println();输出换行。