社区
Java SE
帖子详情
新手求教java泛型问题
qq906907952
2017-01-25 02:22:07
public static void main(String[] args) {
ArrayList l = new ArrayList<String>();
l.add(1234);
为什么这样的代码不报错还能执行 泛型写在左边和右边和左右两边都写分别有什么区别
...全文
264
5
打赏
收藏
新手求教java泛型问题
public static void main(String[] args) { ArrayList l = new ArrayList(); l.add(1234); 为什么这样的代码不报错还能执行 泛型写在左边和右边和左右两边都写分别有什么区别
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
UsagiKnight
2017-02-01
打赏
举报
回复
ArrayList<String> l = new ArrayList<String>(); 1.你省略了前面的String,那么这个ArrayList其实是一个Object数组,你可以试一下,l.add(true);这句话也是可以通过的。 2.你省略了后面的String,没有多大关系。 现在我们来分析一下为什么会出现上面的两种情况: 在java虚拟机中没有泛型,就是说,这句代码在后端运行的时候,其实ArrayList数组的两个String都会被擦除,变成Object数组,但是JVM会记得前面的<>中的类型,在函数使用的时候,把Object的数据强转成<>中的类型,就是强转为String类型,从而起到ArrayList<String>的作用。 http://blog.csdn.net/quinnnorris/article/details/54666705 这个是我写的博客,一点愚见,有问题欢迎讨论
科比请留步
2017-01-25
打赏
举报
回复
你这样写左边默认是Object,而不是String
科比请留步
2017-01-25
打赏
举报
回复
正确的写法是左边写,右边不写,这是JDK1.7优化的写法,官方推荐最正确的写法
qq_30037507
2017-01-25
打赏
举报
回复
这是编译器决定的,1.7后编译器实现了,左边写右边就不用写
解开者
2017-01-25
打赏
举报
回复
只有左边写了才有意义 只有左边写,编译器会给一个警告,但能正常用 只有右边写,相当于白写 两边都写是正常情况(1.7之后,右边的参数类型可以省略:List<String> l = new ArrayList<>();)
新手
小白学
JAVA
泛型
Collection List Set
集合 我们接下来要学习的内容是
Java
基础中一个很重要的部分:集合 为了更好的理解集合,我们需要首先引入一个概念:
泛型
1
泛型
1.1 概念 我们可以观察一下,下面的代码中有什么元素是我们之前没见过的呢? 其实就是< ? >的部分,它就是
泛型
泛型
是(Generics)JDK1.5 的一个新特性,通常用来和集合对象一起使用
泛型
概念非常重要,它是程序的增强器,它是目前主流的开发方式 1.2 作用 那
泛型
有什么作用呢? 我们可以把
泛型
理解成一个“语法糖”,本质上就是编译器为了提供更好的可读性而
新手
也能看得懂的【
JAVA
泛型
】一文带你学好
JAVA
泛型
!
Java
泛型
是一个非常重要的概念,在
java
集合,很多框架源码都有广泛使用,你是否真的了解
java
的
泛型
呢,本文是一篇很介绍
泛型
的详细博文,能让你深入浅出了解
泛型
,并且用很易懂的例子了解难懂的知识,让
新手
也能轻松理解!
Java
的
泛型
是什么?为什么要用它?
本文讲解的是
Java
语言中的
泛型
。
泛型
顾名思义就是广泛的数据类型,也就是说什么数据类型都可以。本文从ArrayList说起,讲解
Java
中的
泛型
类、
泛型
接口和
泛型
方法的使用。
java
中的
泛型
java
中的
泛型
新手
小白入门之
泛型
java
泛型
Java SE
62,620
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章