Java泛型

2019/08/07 15:27
阅读数 26

使用泛型创建的类和方法可以支持不同类型的数据

泛型类

泛型类声明规则如下

1.类名后跟<T> T可以是任意字母,也可以声明多个泛型,如<T,S,E>

2.在需要使用泛型的地方使用 T 来代替类型

如声明方法,声明集合类型时

 1 class myList<T>{
 2     private  List<T> ls=new ArrayList<T>;
 3     public void add(T t){
 4     ls.add(t);  
 5    }
 6     public void remove(T  t){
 7     ls.remove(t);
 8     }
 9 }
10 public class Demo1{
11   public static void main(String[]  args){
12    ls.add("String类");
13    ls.remove("String类");
14  } 
15 }

泛型约束

声明泛型类的时候使用extends 关键字,可以限制泛型可以使用类型的范围

限制好范围后,实现泛型时类型只能使用类型的派生类(或本身)

class myList<T extends Number>{
 2     private  List<T> ls=new ArrayList<T>;
 3     public void add(T t){
 4     ls.add(t);  
 5    }
 6     public void remove(T  t){
 7     ls.remove(t);
 8     }
 9 }
10 public class Demo1{
11   public static void main(String[]  args){
12    ls.add("String类");
13    ls.remove("String类");
14  } 
15 }

泛型方法

声明泛型方法时,可以不用将类设为泛型类.

public class Day1907{

public static <T> void f1(T t){
System.out.println("没有返回值类型泛型方法");
}

public static <T> T f1(T t){
System.out.println("返回值为T的泛型方法");
}

public static <T extends t> T f1(T t){
System.out.println("返回值为T的泛型方法,泛型声明只能是T类型及其衍生类");
}

public static  String main(String[]  args){
  f1("T");
}
}

 

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部