`

java基础之泛型

 
阅读更多

泛型的使用:
1、在集合中使用泛型
2、自定义泛型类、泛型接口、泛型方法
3、泛型与继承的关系
4、通配符

1>泛型类
public class DAO<T>{
    public void add(T t){
        ....
    }
}
指定了该类为某个类型的数据服务

2>泛型方法:将数组元素放入到集合中
public <E> List<E> fromArryToList(E[] e,List<E> list){
    for(E e1 : e){
        list.add(e1);
    }
    return list;
}
        Integer[] inti = new Integer[]{1,2,3};
        List<Integer> list1 = new ArrayList<Integer>();
        List<Integer> list2 = order.fromArrayToList(inti, list1);
        System.out.println(list2);

3>泛型与继承的关系
若A是B的子类,那么List<A> 就不是List<B>的子接口
List<Object> list1 = null;
List<String> list2 = new ArrayList<String>();

4>通配符 ?
List<A>、List<B>、、、、、、都是List<?>的子类
eg:
List<?> list = null;
List<Object> list1 = new ArrayList<Object>();
List<String> list2 = new ArrayList<String>();
list = list1;
list = list2;

Boolean addAll(Collection<? extends E> c);
可以放入E的本身或者E的子类
List<? extends Number> list = null;
        List<Integer> list1 = null;
        list = list1;

Boolean addAll(Collection<? supper A> a)
可以存放A本身及其父类
List<? super Number> list = null;
    List<Object> list1 = null;
    list = list1;

5>注意泛型的使用
①方法中不能使用static关键字
原因:泛型只有在实例化时才能确定是什么类型,所以不能使用static关键字
②不能在try{}catch(T e){}声明泛型
③通配符?声明的集合不能添加任何元素进去,唯一例外的是null.






分享到:
评论

相关推荐

    关于java基础的泛型的练习

    Java泛型是Java SE 5.0引入的一个重要特性,它极大地增强了代码的类型安全...在进行"关于Java基础的泛型的练习"时,可以尝试编写不同的泛型类、泛型方法,体验泛型带来的便利,并理解其背后的类型系统和类型擦除机制。

    【Java基础】泛型方法 - 右撇子 - 博客频道 - CSDN.NET

    【Java基础】泛型方法 - 右撇子 - 博客频道 - CSDN.NET

    java基础-泛型通配符

    java基础-泛型通配符

    大学课程讲义-Java基础-泛型.docx

    Java泛型是Java编程语言中的一种特性,它允许在数据结构(如集合)中存储特定类型的元素,从而提供了编译时的类型安全性和更清晰的代码。泛型引入的主要目标是...理解并熟练使用泛型是每个Java开发者的基础技能之一。

    java集合 框架 泛型

    泛型是Java 5引入的一项创新特性,极大地增强了集合框架的安全性和效率。本讲解将深入探讨这两个主题,以及与之相关的枚举类型。 首先,Java集合框架包括List、Set、Queue等接口,以及ArrayList、LinkedList、...

    关于C#、java泛型的看法

    在Java中,泛型同样使用尖括号表示,但它的类型擦除特性使得编译后的字节码并不包含类型参数信息,而是使用Object或其他基础类型作为替代。这意味着Java的泛型不支持协变和逆变,但可以通过通配符(如?)来放宽类型...

    Java基础篇:泛型.pdf

    泛型是Java编程语言中用于减少类型转换错误和增强代码安全性的机制,它允许在定义类、接口和方法时使用类型参数。通过这种方式,可以在编译时期捕获那些只有在运行时期才会暴露的类型错误,提高了代码的健壮性。 ...

    Java基础入门四泛型反射注解.pdf

    Java基础入门系列是帮助初学者掌握Java编程的重要学习材料,本篇主要介绍了泛型、反射和注解这三大高级特性。 泛型是Java SE 5版本引入的一个新特性,它的主要目的是允许在使用类、接口和方法时能够引用到任何类型...

    java 继承非泛型类示例

    在Java编程语言中,继承是面向对象特性之一,它允许一个类(子类)继承另一个类(父类)的属性和方法。当我们谈论继承非泛型类时,意味着子类继承了一个没有使用泛型的父类。泛型是Java SE 5.0引入的新特性,用于...

    Java基础笔记之集合框架和泛型

    详细的介绍了集合框架的用法,及其语法规则,剖析了使用的使用注意事项,帮助更牢靠的掌握集合框架的知识及泛型内容。谢谢

    java基础-泛型学习总结

    思维导图

    java基础泛型 学习全文件

    Java基础泛型是Java编程语言中的一个重要特性,它允许在类、接口和方法中使用类型参数,从而增强了代码的类型安全性和重用性。在Java中,泛型的主要目标是提高效率,避免运行时的类型转换,并且在编译时期就能发现...

    java泛型的内部原理及更深应用

    这意味着在编译完成后,所有的泛型信息都会被擦除,替换为Object或者其他基础类型。因此,泛型在运行时并不存在,所有关于泛型的操作都在编译期间完成。 2. **边界通配符**:在处理泛型时,我们经常遇到边界通配符...

    Java课件 (包括基础语法,数组与语句,面向对象编程,java异常处理,java常用基础类,java集合与泛型

    1. **基础语法**:Java的基础语法是学习任何编程语言的起点。这包括变量声明、数据类型(如整型、浮点型、字符型和布尔型)、运算符(算术、比较、逻辑等)、流程控制(如if语句、switch语句、for循环、while循环)...

    java零基础自学 之 JAVA泛型

    在Java编程中,泛型是一种强大的特性,它允许我们在编写代码时指定容器(如列表、队列或映射)所容纳的数据类型。这为程序带来了更高的类型安全性和可读性,同时减少了运行时类型转换异常的可能性。本文将深入探讨...

    java泛型学习ppt

    泛型基础: * 在定义泛型类或声明泛型类的变量时,使用尖括号来指定形式类型参数。 * 当声明或者实例化一个泛型的对象时,必须指定类型参数的值。 自定义简单泛型: * public class Gclass&lt;T&gt;{ private T a; ...

Global site tag (gtag.js) - Google Analytics