Java入门系列 泛型
前言
《Java编程思想》第四版足足用了75页来讲泛型——厚厚的一沓内容,很容易让人头大——但其实根本不用这么多,只需要一句话:我是一个泛型队列,狗可以站进来,猫也可以站进来,但最好不要既站猫,又站狗!
Java的设计者在JDK 1.5时才引入了泛型,但为了照顾以前设计上的缺陷,同时兼容非泛型的代码,不得不做出了一个折中的策略:编译时对泛型要求严格,运行时却把泛型擦除了——要兼容以前的版本,还要升级扩展新的功能,真的很不容易!
注:在Java中,经常用T、E、K、V等形式的参数来表示泛型参数。
T:代表一般的任何类。
E:代表 Element 的意思,或者 Exception 异常的意思。
K:代表 Key 的意思。
V:代表 Value 的意思,通常与 K 一起配合使用。
Java7泛型的“菱形”语法
在Java SE 7之前,声明泛型对象的代码如下:
List<String> list = new ArrayList<String>();
而在Java 7中,可以使用如下代码:
List<String> list = new ArrayList<>();
泛型通配符
有些时候,你会见到这样一些代码:
List<? extends Number> list = new ArrayList<>();
List<? super Number> list = new ArrayList<>();
?和关键字extends或者super在一起其实就是泛型的高级应用:通配符。
资料
https://blog.csdn.net/qing_gee/article/details/86755724
Java入门系列 泛型的更多相关文章
- Java入门系列-19-泛型集合
集合 如何存储每天的新闻信息?每天的新闻总数是不固定的,太少浪费空间,太多空间不足. 如果并不知道程序运行时会需要多少对象,或者需要更复杂方式存储对象,可以使用Java集合框架. Java 集合框架提 ...
- Java入门系列-26-JDBC
认识 JDBC JDBC (Java DataBase Connectivity) 是 Java 数据库连接技术的简称,用于连接常用数据库. Sun 公司提供了 JDBC API ,供程序员调用接口和 ...
- JAVA入门——Generic/泛型
在台科大的第二次JAVA作业,老师课上讲的内容是泛型. 泛型(generic),泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数.这种参数类型可以 ...
- Java入门系列(五)JVM内存模型
概述 根据<Java 虚拟机规范>中的说法,Java 虚拟机的内存结构可以分为公有和私有两部分. 公有指的是所有线程都共享的部分,指的是 Java 堆.方法区.常量池. 私有指的是每个线程 ...
- Java入门系列之hashCode和equals(十二)
前言 前面两节内容我们详细讲解了Hashtable算法和源码分析,针对散列函数始终逃脱不掉hashCode的计算,本节我们将详细分析hashCode和equals,同时您将会看到本节内容是从<E ...
- Java入门系列之字符串创建方式、判断相等(一)
前言 陆续从0开始学习Java出于多掌握一门语言以后的路也会更宽,.NET和Java兼顾,虽然路还很艰难,但事在人为.由于Java和C#语法相似,所以关于一些很基础的内容不会再重头讲,Java系列中所 ...
- Java入门(二)——泛型
如果你写过前端,可能会经常写一下关于变量类型的判断,比如:typeof fn === 'function'之类的代码.因为JavaScript作为一门弱类型语言,类型的判断往往需要开发人员自己去检查. ...
- Java基础系列 - 泛型和反射机制
package com.test5; import java.lang.reflect.Field; import java.lang.reflect.Method; /** * Java泛型和反射机 ...
- Java入门系列之重写
前言 关于所有Java系列文章面向有一定基础的童鞋,所写每一篇希望有一定含金量,有些内容可能会从Java整个语法全局考虑穿插后续要讲解的内容以成系统,若不理解,请看完后再学习.上一节我们讲解完了fin ...
随机推荐
- python3 特性
切片: 就是可以取到对象中任意位置的元素,[start:end:interval]:字符串.列表.元组可切片,字典.set()不可: L[:] #复制原L L[:10] #前十个 L[-10:] #后 ...
- 【CF802C】Heidi and Library(网络流)
[CF802C]Heidi and Library(网络流) 题面 CF 洛谷 题解 前面两个Easy和Medium都是什么鬼玩意啊.... 不难发现如果这天的要求就是第\(a_i\)种书的话,那么\ ...
- Ubuntu相关配置
1.Ubuntu配置root密码 2.开机ssh连接--nat 编辑网络设置端口转发
- [NOI2010]航空管制(拓扑排序+贪心)
题目描述 世博期间,上海的航空客运量大大超过了平时,随之而来的航空管制也频频发生.最近,小X就因为航空管制,连续两次在机场被延误超过了两小时.对此,小X表示很不满意. 在这次来烟台的路上,小X不幸又一 ...
- OO第二阶段纪实
$ 0 写在前面 往往是那些令人格外痛苦的经历,会带给人以最快的成长.转眼间,半个学期的时间过去了,时间匆匆,不管之前对这几次充满了怎样的畏惧,在身边朋友们的帮助和努力下,我也渐渐度过了一个个难关.回 ...
- HDU--4486 Task(贪心)
题目链接 4486 Task 按照时间从大到小排序 然后枚举所有的y值 用一个数组存储 符合要求就算上 #include<bits/stdc++.h> using namespace s ...
- luogu4211 LCA
题目链接 思路 我们换一种求\(dep[lca(i,j)]\)的方法. 将从根到\(i\)的路径上所有点的权值加\(1\),然后求从根节点到j路径上点的权值和.就是\(i\)和\(j\)的\(lca\ ...
- Maven初窥门径
Maven项目对象模型,可以使用一小段描述来管理项目的构建,报告和文档的软件项目管理工具. 安装 下载地址:http://maven.apache.org/download.cgi 下载解压,我将它放 ...
- phpstudy vhosts.conf 文件配置 记录下!
<VirtualHost _default_:80>DocumentRoot "D:\phpStudy\WWW" <Directory "D:\phpS ...
- codesmith生成的结果页不显示,问题在于第一行的文件头
在于这里: TargetLanguage="C#",这个能增加cs的格式