zoukankan      html  css  js  c++  java
  • 泛型

    定义泛型方法的规则:

    • 所有泛型方法声明都有一个类型参数声明部分(由尖括号分隔),该类型参数声明部分在方法返回类型之前(在下面例子中的<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
  • 相关阅读:
    Java使用jxl修改现有Excel文件内容,并验证其是否对公式的结果产生影响
    Java使用MyBatis的ScriptRunner执行SQL脚本
    Linux下批量解压.Z格式文件
    Java中将一个反斜杠转换成两个反斜杠
    mysql线上操作常用命令
    MySQL主从不一致修复
    slave_exec_mode参数对主从复制的影响
    ssh访问跳过RSA key"yes/no"验证
    k8s更新Pod镜像
    Go 延迟函数 defer 详解
  • 原文地址:https://www.cnblogs.com/yayyer/p/12308134.html
Copyright © 2011-2022 走看看