泛型

定义泛型方法的规则:

  • 所有泛型方法声明都有一个类型参数声明部分(由尖括号分隔),该类型参数声明部分在方法返回类型之前(在下面例子中的<E>)。
  • 每一个类型参数声明部分包含一个或多个类型参数,参数间用逗号隔开。一个泛型参数,也被称为一个类型变量,是用于指定一个泛型类型名称的标识符。
  • 类型参数能被用来声明返回值类型,并且能作为泛型方法得到的实际参数类型的占位符。
  • 泛型方法体的声明和其他方法一样。注意类型参数只能代表引用型类型(Integer、Double、Float、String等),不能是原始类型(像int,double,char的等)。

例如:

public class NewTest1 {

	public static void main(String[] args) {
		Integer[] int_array = new Integer[] { 1, 2, 3 };
		Float[] float_array = new Float[] { 1.0F, 2.0F, 3.0F };
		Double[] double_array = new Double[] { 11.11D, 22.22D, 33.33D };
		
		System.out.print("Array<Int>数组元素依次排列为: ");
		arrayPrint(int_array);
		
		
		System.out.print("Array<Float>数组元素依次排列: ");
		arrayPrint(float_array);
		
		System.out.print("Array<Double>数组元素依次排列: ");
		arrayPrint(double_array);
		
	}
	
	private static<E> void arrayPrint(E[] arr) {
		for(E e : arr) {
			System.out.print( e +" , ");
		}
		System.out.println();
	
	}
}

重载解决上述问题:

public class ThreeArr {

	public static void main(String[] args) {
		int[] int_array = new int[] { 1, 2, 3 };
		float[] float_array = new float[] { 1.0F, 2.0F, 3.0F };
		double[] double_array = new double[] { 11.11D, 22.22D, 33.33D };
		
		arrayPrint(int_array);
		arrayPrint(float_array);
		arrayPrint(double_array);
	}

	private static void arrayPrint(double[] double_array) {
		System.out.print("Array<Double>数组元素依次排列为: ");
		for(Double i : double_array) {
			System.out.print( i +", ");
		}
		System.out.println();
	}

	private static void arrayPrint(float[] float_array) {
		System.out.print("Array<Float>数组元素依次排列为: ");
		for(Float i : float_array) {
			System.out.print( i +", ");
		}
		System.out.println();
	
	}

	private static void arrayPrint(int[] int_array) {
		System.out.print("Array<Int>数组元素依次排列为: ");
		for(int i  : int_array) {
			System.out.print( i +", ");
		}
		System.out.println();
	
	}
	
}

  

Today And Next
原文地址:https://www.cnblogs.com/yayyer/p/12308134.html