15 泛型

作者: 我想做个程序员 | 来源:发表于2018-03-01 21:17 被阅读2次

1.泛型类

public class Holder<T> {
    T a;
    public Holder(T a) {
        this.a = a;
    }
    public static void main(String[] args) {
        new Holder<Shape>(new Circle());///只能存入Shape或者是其子类
        /////new Holder<Circle>(new Shape());  编译错误
    }
}

class Shape{
    void fun(){
        System.out.println("Shape");
    }
}

class Circle extends Shape{
    @Override
    void fun() {
        System.out.println("Circle");
    }
}

2.泛型方法

public class GenericMethod {
    
    public <T> T f(T x){
        return x;
    }
    
    public <T> String v(T x){
        return x.getClass().getName();
    }
    
    public <T> List<T> asList(T... args) {
        List<T> list = new ArrayList<>();
        for(T t:args){
            list.add(t);
        }
        return list;
    }
    
    public static void main(String[] args) {
        GenericMethod g = new GenericMethod();
        
        g.f("fuck"); //////自动类型推断,自动推断只会发生在赋值操作
        
        g.<String>f("you");  /////显式类型说明,一般不用
        
        List<String> list = g.asList("I fuck you".split(" ")); ////可变参数与泛型方法
        System.out.println(list);
        
        System.out.println(g.v(1));
    }
}

3.擦除

相关文章

  • JAVA-泛型

    JAVA-泛型 sschrodinger 2018/11/15 简介 泛型是Java SE 1.5的新特性,泛型的...

  • 15 泛型

    1.泛型类 2.泛型方法 3.擦除

  • java中泛型(上)

    本文参考了java核心卷1中泛型程序设计该章节和java编程思想第15章。 泛型即适用于许多许多的类型。泛型最初的...

  • 泛型 & 注解 & Log4J日志组件

    掌握的知识 : 基本用法、泛型擦除、泛型类/泛型方法/泛型接口、泛型关键字、反射泛型(案例) 泛型 概述 : 泛型...

  • 【泛型】通配符与嵌套

    上一篇 【泛型】泛型的作用与定义 1 泛型分类 泛型可以分成泛型类、泛型方法和泛型接口 1.1 泛型类 一个泛型类...

  • 泛型的使用

    泛型有三种使用方式,分别为:泛型类、泛型接口、泛型方法 泛型类 泛型接口 泛型通配符 泛型方法 静态方法与...

  • Java 泛型

    泛型类 例如 泛型接口 例如 泛型通配符 泛型方法 类中的泛型方法 泛型方法与可变参数 静态方法与泛型 泛型上下边...

  • 15.泛型

    泛型,实现了参数化类型的概念。 2.简单泛型 有些情况下我们确实希望容器能够同时持有多种类型的对象。但通常而言,我...

  • 15.泛型

    泛型:适用于更多的类型泛型的主要目的之一:用来指定容器要持有什么类型的对象,且由编译器来保证类型的正确性元组:将一...

  • 15-泛型

网友评论

      本文标题:15 泛型

      本文链接:https://www.haomeiwen.com/subject/zhhhmxtx.html