一、什么是泛型?

泛型是一种特殊的类型。可以代表多种类型。是一种模板,编写一套代码,可以适应多种类型。

二、泛型类

  1. public class Hi {
  2. public static void main(String[] args) throws Exception {
  3. Pair pair1 = new Pair("first", "last");
  4. PairG<Integer> pairG1 = new PairG<Integer>(1, 2);
  5. PairG<String> pairG2 = new PairG<String>("first", "last");
  6. System.out.println(pair1.getFirst());
  7. System.out.println(pairG1.getFirst());
  8. System.out.println(pairG2.getFirst());
  9. }
  10. }
  11. class Pair{
  12. private String first;
  13. private String last;
  14. public Pair(String first,String last) {
  15. this.first = first;
  16. this.last = last;
  17. }
  18. public String getFirst() {
  19. return first;
  20. }
  21. public String getLast() {
  22. return last;
  23. }
  24. }
  25. class PairG<T>{
  26. private T first;
  27. private T last;
  28. public PairG(T first,T last) {
  29. this.first = first;
  30. this.last = last;
  31. }
  32. public T getFirst() {
  33. return first;
  34. }
  35. public T getLast() {
  36. return last;
  37. }
  38. }

三、泛型方法

  1. public class Hi {
  2. public static void main(String[] args) throws Exception {
  3. int[] a = {1,2,3};
  4. printArray(a);
  5. String[] s = {"a","b","c"};
  6. printArrayG(s);
  7. }
  8. public static void printArray(int[] a){
  9. for (var item : a) {
  10. System.out.println(item);
  11. }
  12. }
  13. public static <T> void printArrayG(T[] a){
  14. for (var item : a) {
  15. System.out.println(item);
  16. }
  17. }
  18. }

参考

  1. 编写泛型 - 廖雪峰的官方网站
  2. Java 泛型 | 菜鸟教程