自定义泛型:
自定义泛型就是一个数据类型的占位符或者是一个数据类型的变量。
方法上自定义泛型:
修饰符 <声明自定义的泛型>返回值类型 函数名(使用自定义泛型){
}
在泛型中不能使用基本数据类型,如果需要使用基本数据类型,那么就使用基本数据类型对应的包装类型。
byte --> Byte
short --> Short
int --> Integer
long --> Long
double --> Double
float --> Float
boolean --> Boolean
char --> Character
方法泛型注意的事项:
1.在方法上自定义泛型,这个自定义泛型的具体数据类型是在调用该方法的时候传入实参时确定的。
2.自定义泛型只要符合标识符的命名规则即可。但是自定义泛型一般习惯使用一个大写字母(T,Type E Element)表示。
package com.cn.genericity;
/**
* Author:Liu Zhiyong
* Version:Version_1
* Date:2016年7月17日19:14:20
* Desc:需求:定义一个方法可以接受任意类型的参数,而且返回类型必须要与实参的类型一致。
*
* 自定义泛型:
* 自定义泛型就是一个数据类型的占位符或者是一个数据类型的变量。
* 方法上自定义泛型:
* 修饰符 <声明自定义的泛型>返回值类型 函数名(使用自定义泛型){
*
* }
*
* 在泛型中不能使用基本数据类型,如果需要使用基本数据类型,那么就使用基本数据类型对应的包装类型。
* byte --> Byte
* short --> Short
* int --> Integer
* long --> Long
*
* double --> Double
* float --> Float
*
* boolean --> Boolean
*
* char --> Character
*
* 方法泛型注意的事项:
* 1.在方法上自定义泛型,这个自定义泛型的具体数据类型是在调用该方法的时候传入实参时确定的。
* 2.自定义泛型只要符合标识符的命名规则即可。但是自定义泛型一般习惯使用一个大写字母(T,Type E Element)表示。
*
*/
public class Demo2 {
public static void main(String[] args) {
String str = getData("aa");
Integer i = getData(1234);
int[] arr = {1, 2, 3};
int[] iarr = getData(arr);
}
public static <M>M getData(M o){
return o;
}
}