java之泛型潜在错误
如果使用带泛型声明的类时,没有传入类型参数,那么这个类型参数默认是声明该参数时指定的第一个上限类型,这个类型参数被称为raw type(原始类型 )。
public static void main(String[] args){
List list = new ArrayList();
list.add("aaaa");
list.add("bbbbbbb");
list.add("cccc");
List<Integer> intList = list;
for(int i=0; i<intList.size(); i++){
System.out.println(intList.get(i));
}
}
bbbbbbb
cccc
public static void main(String[] args){
List list = new ArrayList();
list.add("aaaa");
list.add("bbbbbbb");
list.add("cccc");
List<Integer> intList = list;
for(Integer i : intList){
System.out.println(i);
}
}
at com.zb.zb.ListTest.main(ListTest.java:11)
public static void main(String[] args){
Apple<Integer> a = new Apple<Integer>(6);
for(String apple :a.getApples()){
System.out.println(apple);
}
Apple b = a; (1)
// for(String apple : b.getApples()){ (2)
// System.out.println(apple);
// }
}
}
class Apple<T extends Number>{
T size;
public Apple(){
}
public Apple(T size){
this.size = size;
}
public void setSize (T size){
this.size = size;
}
public List<String> getApples(){
List<String> list = new ArrayList<String>();
for(int i = 0; i < 3; i++) {
list.add(new Apple<Integer>(10 * i).toString());
}
return list;
}
public String toString(){
return "Apple[size=" + size + "]";
}
}
java之泛型潜在错误的更多相关文章
- Java 中泛型的全面解析(转)
Java泛型(generics) 是JDK 5中引入的一个新特性,允许在定义类和接口的时候使用类型参数(type parameter).声明的类型参数在使用时用具体的类型来替换.泛型最主要的应用是在J ...
- Java中泛型 类型擦除
转自:Java中泛型是类型擦除的 Java 泛型(Generic)的引入加强了参数类型的安全性,减少了类型的转换,但有一点需要注意:Java 的泛型在编译器有效,在运行期被删除,也就是说所有泛型参数类 ...
- 跟着刚哥梳理java知识点——泛型(十三)
一. 泛型概念的提出(为什么需要泛型)? 首先,我们看下下面这段简短的代码: public class GenericTest { public static void main(String[] a ...
- Java“禁止”泛型数组
Java“禁止”泛型数组 原文:https://blog.csdn.net/yi_Afly/article/details/52058708 1. 泛型定义泛型编程是一种通过参数化的方式将数据处理与数 ...
- Java 之泛型通配符 ? extends T 与 ? super T 解惑
简述 大家在平时的工作学习中, 肯定会见过不少如下的语句: List<? super T> List<? extends T> 我们都知道, 上面的代码时关于 Java 泛型的 ...
- C++ Java C#泛型
泛型概述C#中的泛型C#泛型和java泛型的比较C#泛型和C++模板的比较C#泛型中的约束 泛型概述 Bruce Eckel :您能对泛型做一个快速的介绍么? Anders Hejlsberg : 泛 ...
- Java之泛型
1. 概述 在引入泛型之前,Java类型分为原始类型.复杂类型,其中复杂类型分为数组和类.引入泛型后,一个复杂类型就可以在细分成更多的类型. 例如原先的类型List ...
- java基础-泛型举例详解
泛型 泛型是JDK5.0增加的新特性,泛型的本质是参数化类型,即所操作的数据类型被指定为一个参数.这种类型参数可以在类.接口.和方法的创建中,分别被称为泛型类.泛型接口.泛型方法. 一.认识泛型 在没 ...
- Java学习——泛型
Java学习——泛型 摘要:本文主要介绍了什么是泛型,为什么要用泛型,以及如何使用泛型. 部分内容来自以下博客: https://www.cnblogs.com/lwbqqyumidi/p/38376 ...
随机推荐
- NOIP2002 均分纸牌
题一 均分纸牌 (存盘名: NOIPG1) [问题描述] 有 N 堆纸牌,编号分别为 1,2,…, N.每堆上有若干张,但纸牌总数必为 N 的倍数.可以在任一堆上取若于张纸牌,然后移动. 移牌规则为: ...
- SharePoint 命令使用集锦 (持续更新中...)
首先要定位到 cd "Program Files\Common Files\Microsoft Shared\web server extensions\14\BIN" 下面 ...
- Spring笔记(四)SpingAOP
需要的Jar包(String3.2) com.springsource.net.sf.cglib-2.2.0.jar // 作用于cglib方式的动态代理 com.springsource.org.a ...
- HW4.3
public class Solution { public static void main(String[] args) { final double POUND_PER_KILOGRAM = 2 ...
- HDU-4414 Finding crosses 水题
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4414 直接暴力判断即可. //STATUS:C++_AC_15MS_232KB #include &l ...
- MSSQLSERVER数据库- 字符串分割函数返回类型表
遇到这样一个问题,存储在数据库的数据是一串字符串如:1,2,3,4,5,6.想把这串字符串进行转变成一个表格,如下: 1 2 3 4 5 6 就是这样一个问题,有人同事,写了一个这样的封装函数,这样就 ...
- get-random生成电话号码
"138"+((0..9|Get-Random -count 10) -join $null) From:http://blog.csdn.net/shrekz/article/d ...
- nginx redis tomcat 分布式web应用 session共享
目标:多台tomcat 使用redis实现共享session.redis的安装请参阅:centos上安装redis nginx 作为目前最流行的开源反向代理HTTP Server,用于实现资源缓存.w ...
- Recommended add-ons/plugins for Microsoft Visual Studio
http://stackoverflow.com/questions/2767/recommended-add-ons-plugins-for-microsoft-visual-studio NUGe ...
- Java SE学习之printf 日期转换符
本文是学习网络上的文章时的总结,感谢大家无私的分享. System.out.printf()方法能够对日期做处理输出. 相应列表 转换符 类型 举例 c 完整的日期和时间 Mon Feb 09 18: ...