三、泛型

1、泛型的概念
泛指类型,指的是类型可以在父类子类,接口和实现类之间传递,类似传参
JDK1.5之后出现的,用于解决安全问题,是一个安全机制

2、使用泛型的好处
a、避免了强制类型转换的麻烦
b、很大成度上提高了代码的复用性
c、提高了代码的安全性
d、可以将运行时异常提前到编译时

3、泛型的定义
使用<>来定义要操作的引用数据类型,<>就是用来接受指定类型

4、泛型的应用场景
1>应用在类中
语法:
访问权限修饰符 class 类名<数据类型1,数据类型2,类型3。。。>{

}
a、此处的数据类型之间并没有任何关联,只是为了标示某种数据类型,可以是任意的引用数据类型
b、<数据类型1,数据类型2,类型3。。。>其中的类型只要是合法的标识符即可,一般情况下采用的单个的大写字母,E T M
c、至于泛型到底代表哪种数据类型,取决于调用者,
*/
//如果类中使用泛型,注意:最好能在类中的中使用泛型否则没有意义

2>应用在接口中
语法:
访问权限修饰富 interface 接口名<类型1,类型2,类型3.。。。>{
}

3>应用在方法中
语法:
访问权限修饰符 <类型1,类型2,类型3.。。。>返回值类型 方法名 (类型1 变量名1,类型2 变量名2,类型3 变量名3){

}
//注意:泛型应用在方法的返回值中,最好能和方法的参数有联系,返回值的类型取决与参数的类型

4>应用在集合中【掌握】
ArrayList<String> list = new ArrayList<>();

5>?:通配符
<? extends 类名>:表示可以是指定类或者指定类的子类
<? super 类名>:表示可以是指定类或者指定类的父类

时间: 2024-11-08 23:09:23

三、泛型的相关文章

C#委托三——泛型委托

PanPen120在CSDN上原创,如其他网站转载请注意排版和写明出处: 今天一直在研究委托,因为有函数指针的基础,还容易上手,但是对于一些概念和实践,总是为了弄的非常清楚而纠结,这几篇关于委托的文章我是结合<C#与.NET4高级程序设计>.MSDN.借鉴其他人的博文来总结话语,以最直接简洁的话来阐述清楚(在我弄懂之前网上的感觉都很模糊) namespace GenericDelegate { //泛型委托(泛到参数这里,可以接受一个任何类型的参数.返回值是void的方法,在委托对象创建的时候

泛型的几种类型以及初识webform

今天学习的可以分为两类吧,但是学习的都是比较抽象的,不太容易掌握吧.首先我们大部分时间学习了泛型,泛型的委托,泛型接口以及枚举器,迭代器,扩展方法:最后简单的认识了webform,实现了一个简单的功能. 一.泛型 定义:泛型(generic)可以软糖多个类型共享一组代码,泛型允许我们声明类型参数化.可以用不同的类型进行实例化,说白了,就是可以用类型占位符,创建具体类型致命的真实概念.C#中提供了五种泛型,类,结构,接口,委托和方法.下面举例说明可能更容易理解, class MyStack<T>

C# 集合与泛型

一.古典集合方式 在C#2.0的时候集合主要通过两种方式实现: 1.使用ArrayList实现 新建ArrayList,然后将所有对象放入该数组中,简单直接,但缺点是该数组什么类型的元素都能接收,在实际使用时对编程人员产生很多困扰. 2.使用自定义集合类 比较常见的做法是从CollectionBase抽象类继承一个自定义类,通过对IList对象进行封装实现强类型集合.这种方式要求为每种集合类型写一个相应的自定义类,工作量较大. 而泛型集合的出现较好的解决了上述问题,只需一行代码便能创建指定类型的

java学习笔记(Core Java) 8 泛型

泛型一.定义一个泛型类public class Pair<T>{ private T _first; public Pair(T first) {this._first = first;} public T getfirst() {return _first;}}java中类型变量使用大写字母且比较短E:元素类型 K,V 表的关键字与值的类型 T(U/S)任意类型 泛型方法:要么返回类型是泛型,要么参数是泛型public static <T> getMiddle(T... a){

java中泛型小结

一.什么是泛型? 泛型(Generic type 或者 generics)是对 Java 语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类.可以把类型参数看作是使用参数化类型时指定的类型的一个占位符,就像方法的形式参数是运行时传递的值的占位符一样. 可以在集合框架(Collection framework)中看到泛型的动机.例如,Map 类允许您向一个 Map 添加任意类的对象,即使最常见的情况是在给定映射(map)中保存某个特定类型(比如 String)的对象. 因为 Map.ge

C#基础知识之泛型

泛型在c#中有很重要的位置,对于写出高可读性,高性能的代码有着关键的作用. 其实官方文档说明的很详细,我这边算是做个记录吧 一.什么是泛型? 泛型是 2.0 版 C# 语言和公共语言运行库 (CLR) 中的一个非常重要的新功能. 泛型(Generic) 允许您延迟编写类或方法中的编程元素的数据类型的规范,直到实际在程序中使用它的时候.换句话说,泛型允许您编写一个可以与任何数据类型一起工作的类或方法.您可以通过数据类型的替代参数编写类或方法的规范.当编译器遇到类的构造函数或方法的函数调用时,它会生

《Java架构筑基》从Java基础讲起——泛型基础

一.泛型的概述 1.1 泛型由来 我们的集合可以存储多种数据类型的元素,那么在存储的时候没有任何问题,但是在获取元素,并向下转型的时候,可能会存在一个错误,而这个错误就是ClassCastException . 很显然,集合的这种可以存储多种数据类型的元素的这个特点,不怎么友好 , 程序存在一些安全隐患,那么为了出来这种安全隐患,我们应该限定一个集合存储元素的数据类型,我们只让他存储统一中数据类型的元素,那么在做向下转型的是就不会存在这种安全隐患了. 怎么限定集合只能给我存储同一种数据类型的元素

《Java架构筑基》从Java基础讲起——泛型的使用

一. 泛型的使用 1. 泛型类的概述及使用 A:泛型类概述: 把泛型定义在类上 B:定义格式: public class 类名<泛型类型1,-> C:注意事项: 泛型类型必须是引用类型 2. 泛型方法的概述和使用 A:泛型方法概述: 把泛型定义在方法上 B:定义格式: public <泛型类型> 返回类型 方法名(泛型类型 变量名) public <T> void show(T t) { } 所谓泛型方法,就是在声明方法时定义一个或多个类型形参. 泛型方法的用法格式如下

C#泛型(Generic)

一.什么是泛型 泛型(Generic)是C#语言2.0.通用语言运行时(CLR)2.0..NET Framework2.0推出来的新特性. 泛型为.NET框架引入类型参数(Type Parameters)的概念.类型参数使得设计类和方法时,不必确定一个或多个参具体数. 具体的参数类型可延迟到声明和使用时再确定.避免了运行时类型转换或装箱操作的代价和风险. 二.泛型的使用和对比 2.1.CommandMethod(普通方法) 1 /// <summary> 2 /// 打印一个Int值 3 //

java泛型编程

一般的类和方法都是针对特定数据类型的,当写一个对多种数据类型都适用的类和方法时就需要使用泛型编程,java的泛型编程类似于C++中的模板,即一种参数化类型的编程方法,具体地说就是将和数据类型相关的信息抽象出来,主要提供通用的实现和逻辑,和数据类型相关的信息由使用时参数决定. 一.泛型类: 栈的实现 示例代码: package com.genericity; import org.junit.Test; /** * @Title: LinkedListStack.java * @Package c