泛型<Generic>之类型安全<Type-Safe>
1->List(collection,数组...类似)
在构造对像的时候就可以知道该对象操作的是什么样的数据<对象>类型,类型安全且省去烦人的转换类型。
通过Object<E> = new Object<E>();来实现,E占位符
引用
//Tiger之前
List list = new ArrayList();
list.add("String");
list.add(new Integer(111));
list.add(111);//提示错误,不能存放primitiv值,Tiger可以,
//操作的类型没有确定(String和Integer类型可以同时放在List对象),类型不安全
//取值
String str = list.get(0); //提示错误,必须有类型转换,如下写法
String str = (String)list.get(0);
//Tiger
List<String> tiger = new ArrayList<String>();//说明只能用操作String类型
tiger.add("String");
tiger.add(new Integer(111));//改语句编译器提示错误
//操作的类型确定(String和Integer类型可以同时放在List对象),类型安全
//取值
String str = tiger.get(0);//无需类型转换
but,generic不支持primitive类型,如以下代码不支持
引用
List<int> list = new ArrayList<int>
2->Map
跟List一样,只是需要两个类型参数,如:
引用
Map<String,String> strings = new Map<String,String>
Map<Long,Object> maps = new Map<Long,Object>
3->Iterator
当你对一个集合(collection)参数化了,那么你也应该参数化Iterator(当然,是用到collection的Iterator时候),否则不是编译失败就是运行失败...且看看
引用
List<String> list = new ArrayList<String>();
list.add("Hello");
list.add("World");
for(Iterator i = list.iterator();i.hasNext();){
//下面这一句编译不通过,提示类型转换错误,list参数化了,但是Iterator也需要参数化,写成 Iterator<String> i = list.iterator();
String str = i.next();
System.out.println(str);
}
//如果这样,collection不参数化,Iterator参数化,运行抛出异常
引用
List list = new ArrayList();
list.add("Hello");
list.add("World");
list.add(1);
for(Iterator<String> i = list.iterator();i.hasNext();){
//输出 1 时,抛出:Exception in thread "main" java.lang.ClassCastException: java.lang.Integer异常
String str = i.next();
System.out.println(str);
}
//List list = new ArrayList(); 写成 List<String> list = new ArrayList<String>();
分享到:
相关推荐
ipmitool [-c|-h|-v|-V] -I lan -H <hostname> [-p <port>] [-U <username>] [-A <authtype>] [-L <privlvl>] [-a|-E|-P|-f <password>] [-o <oemtype>] <command> ``` 在这里,`-I lan` 表示使用IPMI v1.5的LAN...
SQL>conn scott/tiger@orcl 2)zip格式包安装配置(只以basic包做为示例) 2.1 下载包:oracle-instantclient11.2-basic-11.2.0.1.0-1.x86_64.zip 2.2 将包文件解压到指定目录下: #unzip oracle-instantclient...
这个"acegi-security-tiger-1.0.0-RC2.jar.zip"压缩包包含的是Acegi Security的一个早期版本——1.0.0 Release Candidate 2(RC2),专门针对Tiger(Java SE 5.0)版本的Java开发环境。 Acegi Security的主要功能...
--<add key="typeName" value="Common.DataAccess.OracleDbOperator"/>--><!-- Oracle方式 --> <!--<add key="typeName" value="Common.DataAccess.OleDBOperator"/>--><!-- Access(兼容)方式 --> </configuration...
【Tiger虎牌微电脑电饭煲JAJ-A55C】是一款先进的厨房设备,它采用了微电脑控制技术,能够精确地控制烹饪过程,确保每一顿饭都能煮得美味可口。这款电饭煲遵循一系列中国国家执行标准,如GB4706.1-2005、GB4706.14-...
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
SQL>conn scott/tiger@orcl 2)zip格式包安装配置(只以basic包做为示例) 2.1 下载包:oracle-instantclient11.2-basic-11.2.0.1.0-1.x86_64.zip 2.2 将包文件解压到指定目录下: #unzip oracle-instantclient...
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
--<add key="typeName" value="Common.DataAccess.OracleDbOperator"/>--><!-- Oracle方式 --> <!--<add key="typeName" value="Common.DataAccess.OleDBOperator"/>--><!-- Access(兼容)方式 --> </configuration...
xwork-1.1.1.jar, xwork-1.1.jar, xwork-1.2.1.jar, xwork-1.2.3.jar, xwork-2.0.0.jar, xwork-2.0.1.jar, xwork-2.0.3.jar, ...xwork-tiger-src-1.2.1.jar, xwork-tiger.jar, xwork.jar, xwork2.jar
1.8.0-1的vnc,rpm包,自己亲测,必须好用,需要其他rpm包也可以联系我。
《Mac OS x86系统安装镜像:tiger-x86.tar.bz2解析》 在IT领域,操作系统是计算机的灵魂,而Mac OS作为苹果公司的旗舰操作系统,以其独特的设计美学和强大的性能深受用户喜爱。尤其对于那些拥有PC硬件的用户,通过...
<servlet-name>context</servlet-name> <servlet-class> org.springframework.web.context.ContextLoaderServlet </servlet-class> <load-on-startup>1</load-on-startup> </servlet> ``` - **`context-param`...
【标题】"tiger-types-osgi-2.1.44.zip" 是一个与OSGi相关的软件包,可能包含用于管理OSGi模块化系统中的类型和依赖关系的库或工具。OSGi(Open Service Gateway Initiative)是一种Java应用程序框架,它支持模块化...
【标题】"tiger-types-osgi-2.1.93.zip" 提供的是一个开源项目,主要关注于OSGi(Open Service Gateway Initiative)框架下的类型系统。OSGi是一种Java模块化系统,它允许开发者创建可重用和可组合的模块,以构建更...
Redis 和 Nginx 是两种非常重要的开源软件,广泛应用于现代互联网服务中。Redis 是一个高性能的键值存储系统,常用于缓存、消息队列等场景;... 标题 "Redis-x64-win-3.2.100+nginx-win" 暗示了这是一个针对 Windows ...
autogen-libopts-5.18-5.el7.x86_64.rpm ntp-4.2.6p5-29.el7.centos.2.x86_64.rpm ntpdate-4.2.6p5-29.el7.centos.2.x86_64.rpm openssl-1.0.2k-19.el7.x86_64.rpm openssl-libs-1.0.2k-19.el7.x86_64.rpm ...
Oracle Instant Client是一款轻量级的数据库连接软件,主要用于在Windows平台上快速建立与Oracle数据库的连接,而无需完整安装Oracle数据库服务器。"instantclient-basic-windows.x64-11.2.0.4.0"是Oracle Instant ...
您的第一个字段内容为:<%= rs.getString(1) %> <!-- 输出第一列数据 --> 您的第二个字段内容为:<%= rs.getString(2) %> <!-- 输出第二列数据 --> <% } %> <% out.print("数据库操作成功,恭喜你"); %> <!-- ...
spring-security-core-tiger-2.0.4.jar