java泛型

     2022-03-18     736

关键词:

 1   /**
 2      * 泛型定义
 3      * 泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。 Java语言引入泛型的好处是安全简单。
 4      *
 5      * 泛型的规则
 6      * 1、泛型的类型参数只能是类类型(包括自定义类),不能是简单类型。
 7      * 2、同一种泛型可以对应多个版本(因为参数类型是不确定的),不同版本的泛型类实例是不兼容的。
 8      * 3、泛型的类型参数可以有多个。
 9      * 4、泛型的参数类型还可以是通配符类型。例如Class<?> classType = Class.forName("java.lang.String");
10      * 5、泛型有通配符上限与通配符下限,例如:
11      *  (1):public class Demo<T extends Comparable & Serializable> {}。// T类型就可以用Comparable声明的方法和Seriablizable所拥有的特性了
12      *  (2):还可以向上限制,如<? super Double>,表示类型只能接受Double及其上层父类类型,如Number、Object类型的实例。
13      *  习惯上称为“有界类型”。
14      *  
15      */

例子:

 1    private static  <T> T getObject(Class<T> o) throws Exception{//定义了一个泛型方法
 2         T t=o.newInstance();
 3         return t;
 4     }
 5 
 6     static class Book<M>{//定义了一个泛型类
 7         private M name;
 8 
 9         public M getName() {
10             return name;
11         }
12 
13         public void setName(M name) {
14             this.name = name;
15         }
16     }
1  public static void main(String[] args) throws  Exception {
2         Book<String> b=new Book<String>();
3         b.setName("a");
4         Book<Integer> b1=new Book<Integer>();
5         b1.setName(2);
6         System.out.println(b.getName());
7         System.out.println(b.getClass()==b1.getClass());
8 
9     }

运行结果为true.

 

泛型常见什么T、K、V、E这种符号是参数的形式参数,自己也可以定义成什么M、N之类的。符号?使用是在当我们类型不能确定时使用,也就是通配符。

 

 

 

 

技术分享

 

 

要多学习。。。。。。

 

java_泛型笔记(代码片段)

文章目录Java_泛型简介Java_泛型的概念Java_为什么存在泛型Java_自定义泛型结构Java_泛型的声明Java_泛型的实例化Java_泛型类Java_泛型方法Java_泛型在继承上的体现Java_通配符的使用Java_泛型简介集合容器类在设计阶段/声明阶段不能确... 查看详情

java泛型泛型简介(泛型类|泛型方法|静态方法的泛型|泛型类与泛型方法完整示例)(代码片段)

文章目录一、泛型简介二、泛型类三、泛型方法四、静态方法的泛型五、泛型类与泛型方法完整示例一、泛型简介泛型可以简单理解为参数化类型,主要作用在类,方法,接口上;java泛型与C++模板:Java中的泛型,是仿照C++中... 查看详情

java泛型与非泛型java(代码片段)

查看详情

java高级--java泛型

类型的参数化泛型类可以同时设置多个参数泛型类可以继承泛型类泛型类可以实现泛型接口示例--泛型类packagecom.date;publicclassGenericDemo{publicstaticvoidmain(String[]args){ GenClass<String>genClass=newGenClass<String>("tanlei"); System.out 查看详情

java泛型

1、什么是泛型Java泛型(generics)是JDK5中引入的一个新特性,泛型提供了编译时类型安全检测机制,该机制允许开发人员在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。2、... 查看详情

java之泛型

1、为什么要有泛型Generic?2、总结Java中的泛型,只在编译阶段有效。在编译过程中,正确检验泛型结果后,会将泛型的相关信息擦出,并且在对象进入和离开方法的边界处添加类型检查和类型转换的方法。也就是说,泛型信息不... 查看详情

java泛型是什么?一文带你吃透泛型(代码片段)

文章目录1.Java泛型2.泛型类3.泛型接口4.泛型方法5.泛型集合Java编程基础教程系列1.Java泛型Java泛型是JDK1.5中引入的一个新特性,其本质是参数化类型,把类型作为参数传递。其主要的形式有泛型类,泛型接口和泛型方法。泛型概... 查看详情

java--泛型

泛型简而言之就是类型的参数化泛型分为泛型接口、泛型类和泛型方法,不存在泛型数组。举例//泛型类;publicclassData<T>{privateTdata;publicData(Tdata){this.data=data;}publicTgetData(){returndata;}}publicclassTest02{publicstaticvoidmain(String[]arg 查看详情

java泛型梳理

java泛型梳理概述泛型,即参数化类型,是在JDK1.5之后才开始引入的。所谓参数化类型是指所操作的数据类型在定义时被定义为一个参数,然后在使用时传入具体的类型。这种参数类型可以用在类,接口,方法的创建中,分别被... 查看详情

java泛型

Java泛型Java泛型(generics)是JDK5中引入的一个新特性,泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。假定我们有这... 查看详情

java----泛型

 自定义泛型:浮动  泛型只会在 查看详情

java-28java泛型

Java泛型如果我们只写一个排序方法,就能够对整型数组、字符串数组甚至支持排序的任何类型的数组进行排序,这该多好啊。Java泛型方法和泛型类支持程序员使用一个方法指定一组相关方法,或者使用一个类指定一组相关的类... 查看详情

java泛型

Java泛型如果我们只写一个排序方法,就能够对整形数组、字符串数组甚至支持排序的任何类型的数组进行排序,这该多好啊。Java泛型方法和泛型类支持程序员使用一个方法指定一组相关方法,或者使用一个类指定一组相关的类... 查看详情

java泛型

1/**2*泛型定义3*泛型是JavaSE1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。Java语言引入泛型的好... 查看详情

java学习----泛型

目录  1.泛型的定义  2.泛型的使用  3.泛型通配符 一、泛型的定义  泛型是java5的新特性,使用泛型会让程序编写简单安全,在编译的时候就会检查类型是否安全  定义:所谓泛型就是允许在定义类、接口和方... 查看详情

java泛型

Java中的泛型,通常使用<E>来表示。泛型是指参数化类型。例如:  List<String>li=newArrayList<String>() 泛型是JavaSE1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类... 查看详情

java泛型java使用泛型的意义

Java泛型Java使用泛型的意义@authorixenos  直接意义在编译时保证类型安全 根本意义a)类型安全问题源自可复用性代码的设计,泛型保证了类型安全的复用模板b)使用复用性模板时不用手动强制类型转换 三种泛型实现... 查看详情

java泛型

Java中的泛型(GenericType)基本精神:数据类型参数化集合框架中没使用泛型和使用泛型的比较没使用泛型ListmyIntList=newLinkedList();//1myIntList.add(newInteger(100));//2Integerx=(Integer)myIntList.iterator().next();//3  使用泛型List<Inte 查看详情