`
wdhdmx
  • 浏览: 304917 次
  • 性别: Icon_minigender_1
  • 来自: 山西
博客专栏
D4bbb5f7-9aa4-3e66-8194-f61b3f0241c2
天天编程
浏览量:22013
社区版块
存档分类
最新评论

泛型简单回顾

阅读更多

泛型的简介

1.java引入泛型的好处是安全简单。

2.没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要求开发者对实际参数类型可以预知的情况下进行的。对于强制类型转换错误的情况,编译器可能不提示错误,在运行的时候才出现异常,这是一个安全隐患。

3.泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,提高代码的重用率。

简单的应用。 

1.

class People<T>{
  private T t;
}
 

2.这个T相当于Object理解。把变量的类型当成参数,原来是不变的,现在可以随便变,
3.

class People<T,K,L>{
private T t;
private K k;
private L l;
}
 

泛型的高级应用

1.class GenericsFoo<T extends Collection>

这样的话就会只要求这个类型实现了Collection接口,这里只限制使用extends,不管后面是不是接口.
 
2.使用通配符

GenericsFoo<? extends Collection> listFoo1 = null;
listFoo=new GenericsFoo<ArrayList>(new ArrayList());


3.静态方法中不能使用泛型。T类型的变量也不能用静态定义。

static T tt =null;//报错
public static void pp(T t){}//报错
public static T ppp(){}//报错

 

分享到:
评论

相关推荐

    如何使用Java泛型映射不同的值类型

    首先,让我们回顾一下问题的背景。一个简单的非类型安全的Context类如下所示: ```java public class Context { private final Map, Object&gt; values = new HashMap(); public void put(String key, Object ...

    04.C# 知识回顾 - Event 事件.pdf

    通过以上内容回顾,我们可以看到C#事件的使用涉及到了委托的定义、事件的发布、事件的订阅、自定义EventArgs类的创建,以及使用EventHandler模式和泛型版本的EventHandler来扩展.NET类库中的事件功能。掌握这些知识...

    -跟我一起学Visual_Studio_2005(2):C#语法篇(下)

    在继续深入探讨C#的泛型之前,我们先回顾一下泛型的基本概念及其重要性。C#中的泛型是一种可以在编译时检查类型的高级特性,它允许开发者定义类型参数化的类、接口、方法等。这样做的主要优势在于提高了代码的重用性...

    Java基础知识回顾共2页.pdf.zip

    它的设计目标是具有高级功能、简单性、可移植性、健壮性和安全性。Java的基础知识是每个Java程序员都需要掌握的,无论你是初学者还是有经验的开发者,对这些基本概念的理解都是至关重要的。 标题"Java基础知识回顾...

    Java核心技术要点详解

    内容概要:本文介绍了 Java 编程语言的关键概念和技术要素,覆盖基本语法到高级特性,如面向对象编程、泛型、异常处理、集合框架、并发控制和输入/输出操作等等,适合初学者和有一定经验开发者回顾提升技能。...

    fanxing.rar

    Java泛型学习源码————B站Java学习笔记之泛型的相关笔记(含源码),里面的代码只是简单的照着B站课程的来敲的,比较浅,只做个人的笔记使用,方便自己进行相应的回顾(因在学习过程没有命名好文件夹名和文件名)...

    C++编程语言核心概念及特性的20个精选实例解析

    内容概要:本文档精选了20个C++编程实例,详细解释了C++的基本语法和高级特性,涵盖从简单的“Hello World”程序到复杂的面向对象编程和泛型编程等多个方面。每个实例都附有代码和简明注释,帮助读者理解和掌握C++的...

    数据结构与算法分析_Java语言描述(第2版)

    书中首先对算法分析的基础数学知识进行了回顾,涵盖了指数、对数、级数、模运算以及证明的方法。随后,书中介绍了递归的基本概念,以及如何在Java 5.0之前的版本中实现泛型,包括利用Object表示泛型、基本类型的包装...

    Scala程序设计(第2版)

    22.2 Java泛型与Scala泛型 430 22.3 JavaBean的性质 432 22.4 AnyVal类型与Java原生类型 433 22.5 Java代码中的Scala名称 433 22.6 本章回顾与下一章提要 434 第23章 应用程序设计 435 23.1 回顾...

    Java编程习题与解答(pdg版)

    7. **网络编程**:Java的Socket编程用于实现客户端/服务器通信,习题可能会要求编写简单的TCP或UDP通信程序。 8. **反射**:Java的反射机制允许运行时动态访问类的信息,创建和调用对象,这对于理解和实现元编程...

    Review-of-C_plus_plus:回顾C ++,并进行一些练习和项目

    通过完成一些实际的项目,例如编写一个简单的文本编辑器、设计一个图形用户界面或者实现一个小型数据库,可以更好地理解和运用C++。此外,做一些编程练习,如LeetCode上的题目,也能加深对C++语法和算法的理解。 ...

    深入理解C# 第3版

    1. **C#基础语法**:书中首先回顾了C#的基础语法,如变量、常量、数据类型、运算符、流程控制语句(如if、switch、for、while)、函数和方法等,这些都是程序员必备的知识。 2. **面向对象编程**:深入探讨了C#的...

    精通c#试题

    在深入探讨C#编程相关的知识点之前,先简单回顾一下标题和描述。"精通C#试题"表明这是一个关于C#编程能力的测试或学习资源,而描述中的“非常好,内容真的非常精”则暗示了这个资源包含了高质量和精炼的C#知识。接...

    java核心技术

    Java作为一门跨平台的面向对象编程语言,自1995年发布以来,便以其简单性、面向对象、分布式、解释型、健壮性、安全性、架构中立、可移植性等特点迅速获得了全球开发者的青睐。《Java核心技术》这本书是Java学习者和...

    Scala 教程

    - 总结:回顾至今所学的函数概念。 - 已见语言元素:列出至今已介绍的语言特性。 6. 类和对象 Scala的面向对象特性体现在类和对象上,它们是代码组织的基本单元。 7. Case类和模式匹配 Case类简化了创建不可变数据...

    北大青鸟 深入.NET平台和C#编程 教学资料 PPT4/9

    首先,我们回顾了一个简单的数组示例,展示了如何通过`for`循环遍历并打印数组中的元素。数组在C#中是值类型,这意味着数组的拷贝会复制整个元素序列,而不是像引用类型那样只复制指向内存中数据的引用。相反,类是...

    java习题参考

    5. **泛型**:了解泛型的基本概念,如何使用泛型类、泛型方法,以及边界通配符。 6. **IO流**:学习输入输出流的分类,字符流与字节流的区别,以及缓冲流、对象流的应用。 7. **多线程**:掌握线程的创建方式,...

    学习java的一些小程序

    在"学习java的一些小程序"这个主题中,我们主要探讨的是通过编写和分析简单的Java程序来掌握这门语言的基础和核心概念。这些小程序可以帮助初学者建立扎实的编程基础,同时也适合有经验的开发者进行回顾和实践。 1....

Global site tag (gtag.js) - Google Analytics