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

泛型简单回顾

阅读更多

泛型的简介

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类库中的事件功能。掌握这些知识...

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

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

    fanxing.rar

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

    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....

    java加强笔记

    - 泛型类允许创建类型安全的对象,可以自定义泛型类来实现特定的功能。 #### 八、类加载器的深入讲解与应用 ##### 1. 类加载器及其委托机制的深入分析 - 类加载器负责将类文件加载到JVM中,并且有一个委托机制来...

Global site tag (gtag.js) - Google Analytics