Java 泛型

Java 泛型

一个基本的原则是:无论何时,只要你能做到,你就应该尽量使用泛型方法。也就是说,如果使用泛型方法可以取代将整个类泛化,那么应该有限采用泛型方法。

  1. 泛型类
    在编译期,是无法知道K和V具体是什么类型,只有在运行时才会真正根据类型来构造和分配内存。
public class Container<K, V> {
    private K key;
    private V value;

    public Container(K k, V v) {
        key = k;
        value = v;
    }

    public K getKey() {
        return key;
    }

    public void setKey(K key) {
        this.key = key;
    }

    public V getValue() {
        return value;
    }

    public void setValue(V value) {
        this.value = value;
    }
}
  1. 泛型接口
public interface Generator<T> {
    public T next();
}
  1. 泛型方法
    可以看到方法的参数彻底泛化了,这个过程涉及到编译器的类型推导和自动打包,也就说原来需要我们自己对类型进行的判断和处理,现在编译器帮我们做了。这样在定义方法的时候不必考虑以后到底需要处理哪些类型的参数,大大增加了编程的灵活性。
public class Main {

    public static <T> void out(T t) {
        System.out.println(t);
    }

    public static void main(String[] args) {
        out("findingsea");
        out(123);
        out(11.11);
        out(true);
    }
}
  1. 泛型方法和可变参数
    可以看到泛型可以和可变参数非常完美的结合。
public class Main {

    public static <T> void out(T... args) {
        for (T t : args) {
            System.out.println(t);
        }
    }

    public static void main(String[] args) {
        out("findingsea", 123, 11.11, true);
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 开发人员在使用泛型的时候,很容易根据自己的直觉而犯一些错误。比如一个方法如果接收List作为形式参数,那么如果尝试...
    时待吾阅读 1,119评论 0 3
  • Java泛型总结# 泛型是什么## 从本质上讲,泛型就是参数化类型。泛型十分重要,使用该特性可以创建类、接口以及方...
    kylinxiang阅读 962评论 0 1
  • 抽着空闲的时间学习了一下自己对Java薄弱的方面,细细的体味了一下Java泛型和反射机制,并写了下总结,肯定会有理...
    草帽小子J阅读 383评论 0 5
  • 认真工作,快乐生活。 在工作中寻找机遇,在工作中求得发展。 自从成功签订一笔大单后,我越来越喜欢销售这份工作,工作...
    风想留步阅读 17,876评论 4 29
  • 看著直播app里一個個美顏的美少女 心裡想著共享女友/虛擬AI女友/地下偶像真的會取代平民戀愛也說不定 況且有的是...
    SabotageYe阅读 209评论 0 0

友情链接更多精彩内容