社区
Java SE
帖子详情
关于Java泛型的问题,知道的请进!!!
Kilnn
2012-08-16 08:55:38
在看到类型擦除的时候,有点疑惑。
举个例子:
ArrayList<String> arrayList=new ArrayList<String>();
arrayList.add("123")//这个地方必须是字符串
为什么不可以是其他类型,不是说在编译的时候类型擦除了吗,那么,它的原始类型应该为Object,那么为什么add方法的参数不可以是其他的类型?
...全文
260
17
打赏
收藏
关于Java泛型的问题,知道的请进!!!
在看到类型擦除的时候,有点疑惑。 举个例子: ArrayList arrayList=new ArrayList(); arrayList.add("123")//这个地方必须是字符串 为什么不可以是其他类型,不是说在编译的时候类型擦除了吗,那么,它的原始类型应该为Object,那么为什么add方法的参数不可以是其他的类型?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Kilnn
2012-08-17
打赏
举报
回复
[Quote=引用 16 楼 的回复:]
引用 14 楼 的回复:
你都确定了String了,怎么能放别的类型呢?
++
[/Quote]
这是因为是在编译之前检查,才不能放其余的类型。之前不知道,现在明白了。
xian_99223
2012-08-17
打赏
举报
回复
[Quote=引用 14 楼 的回复:]
你都确定了String了,怎么能放别的类型呢?
[/Quote]
++
zenglingshu
2012-08-17
打赏
举报
回复
泛型是在编译时检查,在运行时擦除。
ArrayList<String> arrayList=new ArrayList<String>();编译时即指定了arrayList的类型是ArrayList<String>,list中存储的元素类型是String,因此放入其他非String类型的数据时会报编译错误。运行时arrayList的类型变成原生态类型ArrayList。
AngelWings
2012-08-17
打赏
举报
回复
你都确定了String了,怎么能放别的类型呢?
Kilnn
2012-08-17
打赏
举报
回复
[Quote=引用 12 楼 的回复:]
ArrayList<?> 应该用问好代替就可以擦除了吧
[/Quote]
ArrayList<?> 这个我只在类型检查的时候看到
array instanceof ArrayList<?>
肯定也是类型擦除之后,不能使用ArrayList<String> 、ArrayList<Integer>这样的写法。
这个是在运行时检查的,。所以采用特出的写法
lizhuquan_bona
2012-08-17
打赏
举报
回复
ArrayList<?> 应该用问好代替就可以擦除了吧
风中云
2012-08-17
打赏
举报
回复
编译前检查
xiaomsds
2012-08-17
打赏
举报
回复
擦除?
zqfddqr
2012-08-17
打赏
举报
回复
就是这样
Kilnn
2012-08-16
打赏
举报
回复
哎 ,2了,可以想的到的是,在eclipse中arrayList.add(123),直接就会有错误,这不就是说明吗,这是在编译之前检查的吗?
是不是这样的
Kilnn
2012-08-16
打赏
举报
回复
这个到底是什么样的呢?有没有准确的说法?我去瞄瞄编程思想
孤独人生
2012-08-16
打赏
举报
回复
我记得编程思想里面说的是在变异的时候,就会记录下具体的类型
wangdong20
2012-08-16
打赏
举报
回复
泛型的优点在于能够在编译时而不是在运行时检测错误
CCAV521
2012-08-16
打赏
举报
回复
刚才瞅了一下核心技术 在java5.0以前这个是不检查的
arrayList.add(123); 这个是可以执行的
但是在从arrayList中取这个值的时候会有错误 因此我觉着也是跟上面那哥们说的一样
先检查编译是否有错在执行
Kilnn
2012-08-16
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
我猜先检查编译错误,如:泛型类型不一致。
然后再擦除继续编译。。。
[/Quote]
这个编译不是一行一行的进行吗?
不过如果真是你说的,倒是真是这样。在线继续等高手来指导下。
scbb
2012-08-16
打赏
举报
回复
我猜先检查编译错误,如:泛型类型不一致。
然后再擦除继续编译。。。
JAVA
上百实例源码以及开源项目
Java
局域网通信——飞鸽传书源代码,大家都
知道
VB版、VC版还有Delphi版的飞鸽传书软件,但是
Java
版的确实不多,因此这个
Java
文件传输实例不可错过,
Java
网络编程技能的提升很有帮助。
Java
聊天程序,包括服务端和...
JAVA
上百实例源码以及开源项目源代码
Java
局域网通信——飞鸽传书源代码 28个目标文件 内容索引:
JAVA
源码,媒体网络,飞鸽传书
Java
局域网通信——飞鸽传书源代码,大家都
知道
VB版、VC版还有Delphi版的飞鸽传书软件,但是
Java
版的确实不多,因此这个
Java
...
Java
中的
泛型
(两万字超全详解)
博主将用 CSDN 记录
Java
后端开发学习之路上的经验,并将自己整理的编程经验和知识分享出来,希望能帮助到有需要的小伙伴...
Java
泛型
详解,史上最全图文详解
java
泛型
全解 - 绝对最详细
Java
泛型
,你了解类型擦除吗。
从本质上分析
Java
泛型
所以这篇文章从
泛型
的起源,本质上,以通俗易懂的方式讲解
Java
的
泛型
!
Java
的
泛型
的起源
泛型
是在
java
1.5时从c++中借鉴的!在1.5之前是没有
泛型
这个概念的!为什么要引入
泛型
呢?因为当时有以下几个
问题
:
问题
...
Java
——
Java
泛型
Java
——
Java
泛型
该系列博文会告诉你如何从入门到
进
阶,一步步地学习
Java
基础知识,并上手
进
行实战,接着了解每个
Java
知识点背后的实现原理,更完整地了解整个
Java
技术体系,形成自己的知识框架。一、
泛型
概述 1、...
Java SE
62,616
社区成员
307,307
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章