为了账号安全,请及时绑定邮箱和手机立即绑定

java泛型的实现,谁能详细的讲一下呢

java泛型的实现,谁能详细的讲一下呢

炎炎设计 2018-09-08 17:09:29
一直没搞懂泛型怎么实现
查看完整描述

2 回答

?
慕斯王

TA贡献1864条经验 获得超2个赞

看看我这个问题吧,泛型不过就是类似于对具类型抽象而已。

查看完整回答
反对 回复 2018-09-17
?
慕慕森

TA贡献1856条经验 获得超17个赞

泛型就是一种语法糖,只在你写代码的时候方便编辑器纠错。
举个例子,

List<Integer> list = new ArrayList<>();
//list.add("String"); //ERRORlist.add(10);
System.out.println(list.get(0));

上边被注释掉的就是错误的示例,编辑器会提醒你纠正错误。
在经过java编译器编译成字节码后会自动去除掉泛型,同时在get方法前会强制转换为原先的类型。

如何证明以上说法?

public class Test{
    public void change(List<Integer> list){}  
    public void change(List<String> list){}

}

上边这个代码就会被编译器报错,原因是List参数经过编译后类型都会被擦除,所以这两个方法的特征签名一模一样。


查看完整回答
反对 回复 2018-09-17
  • 2 回答
  • 0 关注
  • 653 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信