`

泛型PS

    博客分类:
  • java
 
阅读更多

1.使用泛型的时候,如果2边都使用了泛型,则2边必须一样
//  ArrayList<Object> ao = new ArrayList<String>();
//  //compile error
//  ArrayList<String> as = new ArrayList<Object>();
//  //compile error
  
  ArrayList al = new ArrayList<String>();//向后兼容
  
  ArrayList<Integer> ai = new ArrayList();//可以调用,给不使用泛型的人使用

 

2.泛型是提供给javac编译器使用的

它用于限定集合的输入类型,让编译器在源代码级别上,即挡住向集合插入非法数据。

但编译器编译完带有泛型的java程序后,生成的class文件中将不再带有泛型信息,以此使程序运行效率不受到影响。

这个过程为擦除
.java----------编译(排除插入非法数据)----------(排除后进行擦除)------------.class

 

 

3.ArrayList<E> 读作ArrayList typeof E,是泛型类型
ArrayList<Integer> 是参数化的类型 ,java中用ParameterizedType类来表示,在后面使用反射泛型的时候使用

 

 

4.类上声明的泛型只在非static成员中有效
ps:静态方法不能使用类定义的泛型,而应单独定义泛型

class A<T>{

 

void a(T  a){....} ;

 

static <T> void b(T a){......};

 

// static void c(T a){.....}; compile error

 

}

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    DBUtils模拟用泛型实现

    在这个“DBUtils模拟用泛型实现”的主题中,我们将探讨如何通过泛型技术进一步优化DBUtils的使用,以避免类型转换的繁琐过程,并支持自定义结果集。 首先,泛型是Java SE 5.0引入的一个重要特性,它允许在编译时...

    两种实现JDBC添加、删除、修改操作的方法对比

    这些方法可以用来实现添加、删除、修改操作的共用方法,分为两个方法:一个是设置PreparedStatement ps对象参数的方法,另一个是执行泛型PreparedStatement ps对象的方法。 设置PreparedStatement ps对象参数的方法...

    vs2008新特性 C#4.0

    vs2008新特性:c# 4.0新特性一览 ... PS:这里面还有点版本号小插曲——VS2008所对应.Net Framework是3.5C#是3.0CLR是2.0及其混乱 MS终于下决心在VS2010中把这 3个版本号都统成了4.0于是CLR3不知所终……

    矩阵乘法的 strassen 算法的 rust 语言实现,时间复杂度 O(n^2.81)

    使用 rust 实现的矩阵乘法算法,包括矩阵乘法定义的...全部使用 rust 语言实现,支持泛型,类型安全,代码简洁易懂。 Ps:导入项目是需要额外加上 rand = "0.8.5" 依赖。 #Cargo.toml [dependencies] rand = "0.8.5

    cpp-Vita3K是一款适用于Windows和MacOS的实验性PlayStationVita模拟器

    C++是一种多范式编程语言,支持面向对象、泛型编程和过程化编程,使其成为构建复杂系统如模拟器的理想选择。开发人员需要深入理解C++的核心概念,如类、模板、指针和异常处理,以及如何使用它们来创建高效的代码。 ...

    PS-

    包括函数模板和类模板,是实现泛型编程的关键。 7. **异常处理**:通过try-catch块进行错误处理,可以捕获和处理运行时可能出现的问题,提高程序的健壮性。 8. **文件操作**:C++提供文件输入输出流(fstream),...

    ps365:日常程序解决

    "ps365:日常程序解决" 是一个与Swift编程语言相关的项目,可能是为了提供一套解决方案来处理日常生活中的各种程序问题。Swift是苹果公司推出的一种强大且高效的编程语言,用于开发iOS、iPadOS、macOS、watchOS以及...

    基于参数服务器(Parameter Server)PS-Lite的分布式深度学习训练和预测框架。

    它支持过程化程序设计、数据抽象、面向对象程序设计、泛型程序设计等多种程序设计风格。 图片 C++是C语言的继承,进一步扩充和完善了C语言,成为一种面向对象的程序设计语言。C++这个词在中国大陆的程序员圈子中...

    字典dictionary综合运用

    Console.WriteLine("id:{0} name:{1} address:{2}", ps.Id, ps.Name, ps.Address); ``` 这部分代码提示用户输入一个 ID,然后根据输入的 ID 从字典中获取对应的 `Person` 对象,并输出其详细信息。 #### 三、扩展...

    SqlHelper MSSQL数据库辅助类 自己写的,不足之处请大家指教

    需要说明的是ExecuteList和ExecuteObject是泛型方法,调用时除了需要传必须的参数外还需要给方法传入一个类型,下面做一个例子 数据库有一张表,表结构如下 Users ---- 表名 ID ---- 用户ID Name ---- 用户名 ...

    BSK_IE_PS2_PPAOKW

    4. **泛型**:C#引入了泛型,允许创建类型安全且可重用的数据结构,如List和Dictionary, TValue&gt;。 5. **Lambda表达式和Linq**:C#支持lambda表达式,这使得函数式编程风格成为可能。LINQ(Language Integrated ...

    learn-purescript:学习PS的沙箱

    5. **高阶函数和泛型**:高阶函数和泛型是PureScript的核心特性,使代码更具可读性和可复用性。 【压缩包子文件的文件名称列表】"learn-purescript-master" 这个文件名表明,解压后得到的是一个名为"learn-...

    ps-playground

    "ps-playground" 是一个基于 PureScript 的项目,旨在提供一个实践和学习 PureScript 的环境。PureScript 是一种强类型、静态编译的函数式编程语言,它与 JavaScript 具有紧密的互操作性,允许开发者利用现代函数式...

    解决问题的方法:ps cpp

    本主题“解决问题的方法:ps cpp”聚焦于如何利用C++进行问题解决,通过深入理解和实践,提升编程能力。在这个过程中,我们可以探讨以下几个关键知识点: 1. **C++基础知识**:C++的基础包括变量、数据类型、控制...

    数据库特定SQL分页.pdf

    - `result`:存储查询结果的列表,这里没有使用泛型,以便该类可以被广泛应用于不同的查询场景。 - **方法说明**: - `setAllPage`、`getAllPage`:设置和获取总页数。 - `setNowPage`、`getNowPage`:设置和...

    PS:使用Python,C ++,Java解决问题

    C++支持面向对象编程,同时也提供了函数式、泛型编程等特性,使得它在处理需要高性能计算和内存管理的领域,如游戏开发、操作系统、嵌入式系统和高性能计算等方面具有显著优势。在解决复杂算法和系统级问题时,C++的...

    pmps:FE Tuzla的AR207课程的学习资料和示例

    C++是一种广泛应用的面向对象的编程语言,它由C语言发展而来,增加了类、模板、异常处理等高级特性,支持函数式、过程式、面向对象和泛型编程等多种编程范式。学习C++有助于理解计算机底层工作原理,提高程序性能,...

    PS_CPP:百济解决问题的方法

    3. **模板和泛型编程**:C++的模板允许我们编写通用代码,适用于不同数据类型,增强了代码的灵活性。 4. **STL(Standard Template Library)**:C++的标准库提供了容器(如vector、list、set等)、迭代器、算法和...

    DestinyPKGTool:命运(XBOX360PS3)包裹提取器

    C#支持类、接口、泛型、委托等面向对象特性,这使得代码结构清晰,易于理解和扩展。此外,C#还集成了.NET框架,提供了丰富的库支持,如文件操作、网络通信等,对于开发这样的工具来说非常便利。 DestinyPKGTool的...

    一个小桌面程序:学生信息管理系统

    一个大三学生写出的一个小桌面应用程序:学生信息管理系统,使用了数组表、集合、迭代器、泛型类、多线程等技术。由于是赶工出来的,页面设计得不够好,各位见谅 PS:一切编码在option strict:on和option infer:...

Global site tag (gtag.js) - Google Analytics