社区
Java SE
帖子详情
关于泛型的问题~~~~
qq_30626327
2016-05-08 04:16:35
为什么说 ArrayList 是List的子类 但不等于说ArrayList <Integer> 是List<Integer>的子类 ?
...全文
297
12
打赏
收藏
关于泛型的问题~~~~
为什么说 ArrayList 是List的子类 但不等于说ArrayList 是List的子类 ?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
鬼狐柒
2016-05-13
打赏
举报
回复
乔不思
2016-05-09
打赏
举报
回复
为什么说 ArrayList 是List的子类 但不等于说ArrayList <Integer> 是List<Integer>的子类 ? ArrayList <Integer> 是List<Integer>的子类!可以这么理解的。 java中泛型的用途只是为了指定类型,供编译使用,当然也可以优化代码接口,简化代码书写方式。 java中的泛型其实已经偏离了泛型 的概念了,个人感觉。
迷林
2016-05-09
打赏
举报
回复
你这问题问的我好迷茫 不知道怎么给你解答
chaser401
2016-05-09
打赏
举报
回复
规定了参数类型就不再是原来的类了
狮子悬山
2016-05-09
打赏
举报
回复
这个ArrayList是泛型后就限制了存入的数据,应该类型就和List不一样了吧 讲道理这个问题没得任何意义
zhang_0716
2016-05-09
打赏
举报
回复
List<Integer>这个是多态,本质还是创建的他的实现类的对象,比如ArratList<Integer>对象的多态
尼古拉斯-全蛋
2016-05-09
打赏
举报
回复
这个,我还真不知道
天上掉个大馅饼
2016-05-09
打赏
举报
回复
泛型提高了代码的安全性和可读性。 比如向ArrayList放入一个Integer,取出的时候必须强制类型转换Integer i = (Integer)arraylist.get(0); ArrayList<integer>就告诉大家要放的就是integer类型,其他的类型放不了,取出来的就是Integer。 泛型对extends和implements没有影响,只是限定了类型,ArrayList <Integer> 就是一个实现了List<Integer>接口的类。 要注意的是类 B extends A,但ArrayList<B>并不是一个ArrayList<A>
家里敷泥呀
2016-05-09
打赏
举报
回复
“ArrayList 是List的子类 但不等于说ArrayList <Integer> 是List<Integer>的子类” 这句话本身就有待商榷。敢问此语句出处? 个人认为,你也可以说“ArrayList <Integer> 是List<Integer>的子类”,只是我们一般不那么说。 就好比,我们会说“孔鲤是孔子的儿子”,但不会说“穿长袖的孔鲤是穿长袖孔子的儿子”。 父子类关系,在java诞生之初就有的(jdk1.0),泛型是 jdk5.0 以后添加的某一属性。 表达父子类关系也是无关此属性的。(好比上面的例子,血缘关系和衣着无关)
HerveyHall
2016-05-09
打赏
举报
回复
这个问题提得好,进来学习下
李大白白
2016-05-08
打赏
举报
回复
因为ArrayList继承了List啊, 你这是什么问题啊
qq_30745165
2016-05-08
打赏
举报
回复
这是两个概念吧 没什么关系吧 好吧 我承认我不知道。。。 只是想顶个贴
泛型
~~~~~
1、
泛型
的由来
泛型
是jdk1.5才有的技术。
~~
泛型
~~
泛型
是JDK5中引入的新特性,它提供了编译时类型安全检测机制 1.
泛型
的好处: 把运行时期的
问题
提前到了编译期间 避免了强制类型转换 eg:如果我想获取集合的长度 此时就必须进行强转为String类型 2.
泛型
可以使用的地方 类后面--->
泛型
类 方法声明上--->
泛型
方法 接口后面--->
泛型
接口 eg:自定义
泛型
源码: public class Box<E> {//
泛型
类的定义格式: 修饰符 class 类名<类型&...
Golang
泛型
定义类型的时候前面 ~ 代表什么意思
~” 符号的类型则代表以该类型为底层类型(underlying type)的所有类型,这类带有 “~” 的类型也被称为 approximation elemen。类型是不会报错的,但是如果传自定义类型的。里面一个 int ,定义一个函数。先看代码,定义一个简单的
泛型
。函数进行调用, 如果直接传。对面代码改成就不会有
问题
。
Go
泛型
函数中的 ~ 符号 的意义 -- 用于指定类型的底层类型
简单来说,如果第一个类型参数是一个复合类型,则可以通过第二、第三或更多的类型参数约束复杂类型中的类型参数,而类型推断则可以通过第一个参数推断出后续类型参数的实际类型。[S []E] 将会精确匹配到任意以 []E 作为底层类型的类型,这样我们就不得不定义 [S MySlice] 作为约束。我们可能会认为 [S MySlice] 匹配任意底层类型为 MySlice 的底层类型的类型,但这样会很困惑。我们使用到的技术,即定义一个使用类型参数 E 的类型参数 S,是。如果上面的类型约束中没有 ~ 符号,如。
泛型
方法~~~~~~~( *^-^)ρ(*╯^╰)
他来了他来了,高司令带着
泛型
方法走来了!!!! 在编程的时候,你调用的show方法,必须是你给定或者写好的show方法,如果没有写,就要先去写一个show方法,就像下面这样 public class GenericDemo { public static void main(String[] args) { //创建对象测试方法 Student s = new Student(); s.show("天蓬元帅"); s.show(3
Java SE
62,628
社区成员
307,259
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章