【面试题精讲泛型的使用方式有哪几种?

2023年 10月 9日 100.3k 0

有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准https://blog.zysicyj.top

首发博客地址

面试题手册

系列文章地址

泛型的使用方式有以下几种:

  • 泛型类:定义一个类时,可以在类名后面加上尖括号,并在其中指定类型参数。这样,在类中就可以使用这个类型参数来声明属性、方法等。例如:
  • public class MyGenericClass {
        private T value;
    
        public void setValue(T value) {
            this.value = value;
        }
    
        public T getValue() {
            return value;
        }
    }
    

    在上述代码中,MyGenericClass 是一个泛型类,T 是类型参数,可以在类中的属性和方法中使用。

  • 泛型接口:与泛型类类似,可以在接口名后面加上尖括号,并在其中指定类型参数。然后在实现该接口时,需要指定具体的类型。例如:
  • public interface MyGenericInterface {
        void doSomething(T value);
    }
    
    public class MyImplementation implements MyGenericInterface {
        @Override
        public void doSomething(String value) {
            System.out.println("Doing something with " + value);
        }
    }
    

    在上述代码中,MyGenericInterface 是一个泛型接口,T 是类型参数。MyImplementation 类实现了 MyGenericInterface 接口,并指定了类型参数为 String

  • 泛型方法:在普通类或者非泛型类中,可以定义一个泛型方法,即在方法返回值前面加上尖括号,并在其中指定类型参数。例如:
  • public class MyGenericMethod {
        public  void printValue(T value) {
            System.out.println("Value: " + value);
        }
    }
    

    在上述代码中,printValue 是一个泛型方法, 是类型参数,在方法中可以使用这个类型参数。

  • 通配符:有时候我们可能不关心具体的类型参数,只需要保证它是某种类型或者其子类即可。这时可以使用通配符来表示未知类型。通配符有两种形式:? extends T 表示类型参数是 T 或者 T 的子类;? super T 表示类型参数是 T 或者 T 的父类。例如:
  • public void processList(List

    相关文章

    JavaScript2024新功能:Object.groupBy、正则表达式v标志
    PHP trim 函数对多字节字符的使用和限制
    新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
    使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
    为React 19做准备:WordPress 6.6用户指南
    如何删除WordPress中的所有评论

    发布评论