Java 5 之后引入泛型(Genetics)。
使用泛型的入门例子:
package generics;
import java.util.*;
public class Eg01 {
public static void main(String[] args){
List<Integer> myIntList = new LinkedList<Integer>();
myIntList.add(new Integer(0));
Integer x = myIntList.iterator().next(); // 3
System.out.println(x);
}
}
解释:因为使用泛型语法,// 3 处不必进行Integer类型强制转换。
泛型的简单定义:
package generics.define;
public interface List<E> {
void add(E x);
Iterator<E> iterator();
}
interface Iterator<E> {
E next();
boolean hasNext();
}
有边界的通配符:
package generics.boundedwildcards;
import java.util.*;
public class Census{
public static void addRegistry(Map<String, ? extends Person> registry){
}
public static void main(String[] args){
Map<String, Driver> allDrivers = new HashMap<String, Driver>();
Census.addRegistry(allDrivers);
}
}
class Driver extends Person{
}
class Person{
}
===========================================================
package generics.boundedwildcards;
public abstract class Shape{
public abstract void draw(Canvas c);
}
package generics.boundedwildcards;
public class Circle extends Shape{
private int x, y, radius;
public void draw(Canvas c){
}
}
package generics.boundedwildcards;
public class Rectangle extends Shape{
private int x, y, width, height;
public void draw(Canvas c){
}
}
package generics.boundedwildcards;
import java.util.List;
public class Canvas {
public void draw(Shape s){
s.draw(this);
}
//public void drawAll(List<Shape> shapes){
public void drawAll(List<? extends Shape> shapes){
for(Shape s : shapes){
s.draw(this);
}
}
}
分享到:
相关推荐
Java泛型是Java编程语言中的一个关键特性,它在2004年随着JDK 5.0的发布被引入,极大地增强了类型安全性和代码可读性。泛型允许我们在编写代码时指定容器(如集合)可以存储的数据类型,从而在编译阶段就能捕获类型...
对泛型的简单举例,通过例子了解泛型这个知识点
枚举(Enum)和泛型(Generic)是Java编程语言中的两种强大特性,它们极大地提升了代码的可读性、安全性和复用性。本篇文章将深入探讨这两种概念及其在实际应用中的示例。 首先,我们来看枚举。枚举是一种预定义的...
所谓泛型,就是参数化类型。集合框架就是一个用来表示和操作集合统一的架构,包含了集合的接口与实现类。本文件通过举例来讲解泛型和集合的基础操作。
java泛型的讲解和举例 |int|String>
Java 开发场景举例 Java 可以应用于多种开发场景,例如: * SSM 框架开发 * Android 核心代码开发 * 大数据 Hadoop 开发 Java 的应用领域 Java 广泛应用于多种领域,例如: * 企业软件开发 * 移动设备开发 * ...
·拒绝晦涩难懂的呆板教学,宋老师语言生动幽默,举例形象生动深入浅出,迅速让你把握问题本质,四两拨千斤 2.课程内容推陈出新: ·基于JDK 11,将Java8、Java9、Java10、Java11新特性一网打尽 ·课程中,Eclipse...
·拒绝晦涩难懂的呆板教学,宋老师语言生动幽默,举例形象生动深入浅出,迅速让你把握问题本质,四两拨千斤 2.课程内容推陈出新: ·基于JDK 11,将Java8、Java9、Java10、Java11新特性一网打尽 ·课程中,Eclipse...
### C++与JAVA语言对比分析 #### 一、引言 C++与JAVA作为两种流行的编程语言,在软件开发领域有着广泛的应用。虽然JAVA的设计者熟悉C++并借鉴了其语法结构,但两者之间存在诸多差异。本文将详细介绍C++与JAVA在多...
11. **泛型与枚举**:泛型提供类型安全,枚举则是定义固定数量的常量。示例源码将展示如何有效利用它们。 12. **Lambda表达式与函数式编程**:Java 8引入了lambda表达式,使得函数式编程风格成为可能。示例将展示...
Java中的集合类与泛型程序设计是Java开发中不可或缺的一部分,它们为开发者提供了处理和组织对象的高效工具。本章主要介绍了以下几个核心概念: 8.1 集合类结构: Java集合框架由两个主要的接口树组成。第一个树以...
本ppt适合初学java者使用,附带清晰完整的举例及练习代码,易于读者掌握,使用朱福喜的java教材使用该ppt效果最佳,本ppt内容齐全可以脱离课本自学 第一章 java概述;第二章 java语言基础; 第三章 类与对象;第四...
此外,本教程可能还会介绍一些高级主题,如反射、枚举、注解、泛型、Lambda表达式、JavaFX(用于创建桌面应用程序)以及Java EE(企业级应用开发)的基础知识。 总之,“Java简明教程-第3版”的课件和源码是一个...
4.6.6 数组的应用举例 103 4.7 本章小结 106 本章练习 106 第5章 面向对象(上) 107 5.1 类和对象 108 5.1.1 定义类 108 学生提问:构造器不是没有返回值吗?为什么不能用void修饰呢? 110 5.1.2 对象的产生...
·拒绝晦涩难懂的呆板教学,宋老师语言生动幽默,举例形象生动深入浅出,迅速让你把握问题本质,四两拨千斤 2.课程内容推陈出新: ·基于JDK 11,将Java8、Java9、Java10、Java11新特性一网打尽 ·课程中,Eclipse...
面向对象编程:理解并掌握封装、继承、多态等基本概念,并能举例说明。 2. 深入Java高级特性 泛型:理解其用途、类型擦除机制及如何与集合框架一起使用。 反射:了解反射的用途、工作原理及安全性考虑。 注解:理解...
- 题目:泛型在Java中的作用和限制。 - 答案:泛型提供类型安全,防止类型转换错误,增强代码可读性。但泛型擦除意味着运行时无法检测类型,且不能用基本类型创建泛型数组。 10. **并发编程** - 题目:描述Java...
Java编程基础、面向对象编程原理、接口、包、泛型的基本概念、链表、栈、散列、字符串处理、异常处理、输入输出、多线程、小程序、Swing图形界面设计、事件处理、数据库常用操作方法以及基于Access数据库编程的综合...
最后,可能会涉及到一些高级话题,如反射(Reflection)、注解(Annotation)以及JAVA的泛型(Generics)。反射允许程序在运行时动态地获取类的信息并进行操作;注解提供了一种元数据,可以用于代码的编译、部署和...