泛型的上限和下限

古城微笑少年丶 2023-09-27 12:38 145阅读 0赞

泛型的上限和下限

上限

上限就是指一个操作泛型最大的操作父类,例如,现在最大的上限设置成Number,那么此时,所能够接收的类型最高为Number上限,及其Number子类

  1. package com.kk.example12.ex03;
  2. /**
  3. * @author : K
  4. * @Date : 2022/11/9
  5. * @Desc : 泛型上限
  6. * 上限就是指一个操作泛型最大的操作父类,例如,现在最大的上限设置成Number
  7. * 那么此时,所能够接收的类型最高为Number上限,及其Number子类
  8. */
  9. public class Info<T extends Number> {
  10. private T var;
  11. public void setVar(T var) {
  12. this.var = var;
  13. }
  14. public T getVar(){
  15. return var;
  16. }
  17. @Override
  18. public String toString(){
  19. return this.var.toString();
  20. }
  21. }
  22. /**
  23. * @author 30666
  24. */
  25. class Demo1{
  26. public static void main(String[] args) {
  27. Info<Integer> info1 = new Info<>();
  28. Info<Number> info11 = new Info<>();
  29. }
  30. }

下限

泛型下限,指的是只能设置其具体的类或者父类,当只能在方法中设置

  1. package com.kk.example12.ex03;
  2. /**
  3. * @author : K
  4. * @Date : 2022/11/9
  5. * @Desc : 泛型下限,指的是只能设置其具体的类或者父类,当只能在方法中设置
  6. */
  7. public class Info2<T> {
  8. private T var;
  9. public T getVar() {
  10. return var;
  11. }
  12. public void setVar(T var) {
  13. this.var = var;
  14. }
  15. @Override
  16. public String toString() {
  17. return this.var.toString();
  18. }
  19. }
  20. class GenericsDemo{
  21. public static void main(String[] args) {
  22. Info2<String> info2 = new Info2<>();
  23. Info2<Object> info22 = new Info2<>();
  24. info2.setVar("hello");
  25. info22.setVar(new Object());
  26. fun(info2);
  27. fun(info22);
  28. }
  29. public static void fun(Info2<? super String> temp){
  30. System.out.println(temp+",");
  31. }
  32. }

发表评论

表情:
评论列表 (有 0 条评论,145人围观)

还没有评论,来说两句吧...

相关阅读

    相关 算法下限上限理论

    下限和上限理论是一个数学概念,涉及在给定某些约束或条件的情况下找到某个量的最小和最大可能值。它经常用于优化问题,其目标是找到受某些约束的函数的最大值或最小值。 用数学术语来说

    相关 java下限

    前言:   java的泛型上下限不是很好理解,尤其像我这种菜鸡。反反复复看了好几遍了...,真是... 一、简单的继承体系 class Person{}