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
}
发表评论
-
test
2015-11-02 13:16 535testestsetet -
java thread : select poll epoll
2015-02-16 16:42 1242Select/Poll函数 Selec()的3 ... -
java thread : IO模型
2015-02-16 15:33 922IO复用:select和poll函数 ... -
ssoYY: sso的跨域问题
2015-02-06 10:52 0dsfdsfsd -
交互的YY: 交互 解耦 关系 规则
2015-01-25 15:58 1201交互需要什么:对象,对象之间是怎么交互的(直接new 注入还 ... -
java thread : NIO -概念
2015-01-22 16:04 692通道-流:代表一种功能,能操作数据的方法(策略) 数据来 ... -
ThreadLocal 简单分析
2015-01-09 15:21 767ThreadLocal<T> 是一 ... -
java 多核理解
2014-11-18 13:10 845多核、超线程CPU时代 ... -
java_thread 隐藏的迭代器 java并发编程实践
2014-04-28 10:06 10665.1.3 隐藏迭代器 看容器源代码更清楚些 ... -
笔记1 java并发编程实践
2014-04-25 16:19 568同步 共享(shared)(多个线程访问)和可变(mutabl ... -
java_thread interrupt 理解
2014-04-25 13:18 925package com.java.util.con ... -
超越java-此书笔记
2012-12-24 15:23 907前言: SSH所带来的烦恼:重复的事情太多、XML配 ... -
字符集和字符编码
2012-12-20 19:58 8180. 字符 :大家平时看 ... -
为什么heap分配和清理内存可能会比栈的存储分配慢?
2012-06-12 12:49 0。。。。。。。。 -
java中PS的几点
2012-05-13 18:33 10671.增强for循环只能取数 ... -
在java switch中使用String作为分支条件 (转)
2012-05-13 16:26 2288在java中明确规定switch里面只允许使用int,ch ... -
论java字符串池 (转)
2012-04-09 18:49 1161java运行环境有一个字符串池。比如String str= ...
相关推荐
在这个“DBUtils模拟用泛型实现”的主题中,我们将探讨如何通过泛型技术进一步优化DBUtils的使用,以避免类型转换的繁琐过程,并支持自定义结果集。 首先,泛型是Java SE 5.0引入的一个重要特性,它允许在编译时...
这些方法可以用来实现添加、删除、修改操作的共用方法,分为两个方法:一个是设置PreparedStatement ps对象参数的方法,另一个是执行泛型PreparedStatement ps对象的方法。 设置PreparedStatement ps对象参数的方法...
vs2008新特性:c# 4.0新特性一览 ... PS:这里面还有点版本号小插曲——VS2008所对应.Net Framework是3.5C#是3.0CLR是2.0及其混乱 MS终于下决心在VS2010中把这 3个版本号都统成了4.0于是CLR3不知所终……
使用 rust 实现的矩阵乘法算法,包括矩阵乘法定义的...全部使用 rust 语言实现,支持泛型,类型安全,代码简洁易懂。 Ps:导入项目是需要额外加上 rand = "0.8.5" 依赖。 #Cargo.toml [dependencies] rand = "0.8.5
C++是一种多范式编程语言,支持面向对象、泛型编程和过程化编程,使其成为构建复杂系统如模拟器的理想选择。开发人员需要深入理解C++的核心概念,如类、模板、指针和异常处理,以及如何使用它们来创建高效的代码。 ...
包括函数模板和类模板,是实现泛型编程的关键。 7. **异常处理**:通过try-catch块进行错误处理,可以捕获和处理运行时可能出现的问题,提高程序的健壮性。 8. **文件操作**:C++提供文件输入输出流(fstream),...
"ps365:日常程序解决" 是一个与Swift编程语言相关的项目,可能是为了提供一套解决方案来处理日常生活中的各种程序问题。Swift是苹果公司推出的一种强大且高效的编程语言,用于开发iOS、iPadOS、macOS、watchOS以及...
它支持过程化程序设计、数据抽象、面向对象程序设计、泛型程序设计等多种程序设计风格。 图片 C++是C语言的继承,进一步扩充和完善了C语言,成为一种面向对象的程序设计语言。C++这个词在中国大陆的程序员圈子中...
Console.WriteLine("id:{0} name:{1} address:{2}", ps.Id, ps.Name, ps.Address); ``` 这部分代码提示用户输入一个 ID,然后根据输入的 ID 从字典中获取对应的 `Person` 对象,并输出其详细信息。 #### 三、扩展...
需要说明的是ExecuteList和ExecuteObject是泛型方法,调用时除了需要传必须的参数外还需要给方法传入一个类型,下面做一个例子 数据库有一张表,表结构如下 Users ---- 表名 ID ---- 用户ID Name ---- 用户名 ...
4. **泛型**:C#引入了泛型,允许创建类型安全且可重用的数据结构,如List和Dictionary, TValue>。 5. **Lambda表达式和Linq**:C#支持lambda表达式,这使得函数式编程风格成为可能。LINQ(Language Integrated ...
5. **高阶函数和泛型**:高阶函数和泛型是PureScript的核心特性,使代码更具可读性和可复用性。 【压缩包子文件的文件名称列表】"learn-purescript-master" 这个文件名表明,解压后得到的是一个名为"learn-...
"ps-playground" 是一个基于 PureScript 的项目,旨在提供一个实践和学习 PureScript 的环境。PureScript 是一种强类型、静态编译的函数式编程语言,它与 JavaScript 具有紧密的互操作性,允许开发者利用现代函数式...
本主题“解决问题的方法:ps cpp”聚焦于如何利用C++进行问题解决,通过深入理解和实践,提升编程能力。在这个过程中,我们可以探讨以下几个关键知识点: 1. **C++基础知识**:C++的基础包括变量、数据类型、控制...
- `result`:存储查询结果的列表,这里没有使用泛型,以便该类可以被广泛应用于不同的查询场景。 - **方法说明**: - `setAllPage`、`getAllPage`:设置和获取总页数。 - `setNowPage`、`getNowPage`:设置和...
C++支持面向对象编程,同时也提供了函数式、泛型编程等特性,使得它在处理需要高性能计算和内存管理的领域,如游戏开发、操作系统、嵌入式系统和高性能计算等方面具有显著优势。在解决复杂算法和系统级问题时,C++的...
C++是一种广泛应用的面向对象的编程语言,它由C语言发展而来,增加了类、模板、异常处理等高级特性,支持函数式、过程式、面向对象和泛型编程等多种编程范式。学习C++有助于理解计算机底层工作原理,提高程序性能,...
3. **模板和泛型编程**:C++的模板允许我们编写通用代码,适用于不同数据类型,增强了代码的灵活性。 4. **STL(Standard Template Library)**:C++的标准库提供了容器(如vector、list、set等)、迭代器、算法和...
C#支持类、接口、泛型、委托等面向对象特性,这使得代码结构清晰,易于理解和扩展。此外,C#还集成了.NET框架,提供了丰富的库支持,如文件操作、网络通信等,对于开发这样的工具来说非常便利。 DestinyPKGTool的...
一个大三学生写出的一个小桌面应用程序:学生信息管理系统,使用了数组表、集合、迭代器、泛型类、多线程等技术。由于是赶工出来的,页面设计得不够好,各位见谅 PS:一切编码在option strict:on和option infer:...