java 泛型
声明的时候不指定具体的类型,在使用的时候指定数据类型
***********************
泛型定义
泛型类
public class Point<T> { //一个泛型参数
private T var;
public Point(T var){
this.var=var;
}
public T getVar() {
return var;
}
public void setVar(T var) {
this.var = var;
}
}
public class Point<K,V> { //多个泛型参数
private K key;
private V value;
public Point(K key,V value){
this.key=key;
this.value=value;
}
public K getKey() {
return key;
}
public void setKey(K key) {
this.key = key;
}
public V getValue() {
return value;
}
public void setValue(V value) {
this.value = value;
}
}
泛型接口
interface Info<T> { //一个泛型参数
T getInfo();
}
interface Info<K,V> { //多个泛型参数
void fun(K k,V v);
}
泛型方法
定义格式:方法权限 <泛型标识符> 返回类型 fun_name(泛型标识 参数, 泛型标识 参数2)
class A{
public <T> void fun(T t){ //一个泛型参数
}
}
class B{
public <K,V> void fun(K k,V v){ //多个泛型参数
}
}
***********************
示例
class Point<T>{
private T t;
public T getT() {
return t;
}
public void setT(T t) {
this.t = t;
}
@Override
public String toString() {
return this.getT().toString();
}
}
public class MyTest2 {
public static void main(String[] args){
Point<String> point=new Point<>();
point.setT("瓜田李下");
System.out.println(point);
}
}
*******************
控制台输出
瓜田李下