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

一直没搞懂泛型怎么实现

炎炎设计
浏览 664回答 2
2回答

慕斯王

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

慕慕森

泛型就是一种语法糖,只在你写代码的时候方便编辑器纠错。举个例子,List<Integer>&nbsp;list&nbsp;=&nbsp;new&nbsp;ArrayList<>(); //list.add("String");&nbsp;//ERRORlist.add(10); System.out.println(list.get(0));上边被注释掉的就是错误的示例,编辑器会提醒你纠正错误。在经过java编译器编译成字节码后会自动去除掉泛型,同时在get方法前会强制转换为原先的类型。如何证明以上说法?public&nbsp;class&nbsp;Test{ &nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;change(List<Integer>&nbsp;list){}&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;change(List<String>&nbsp;list){} }上边这个代码就会被编译器报错,原因是List参数经过编译后类型都会被擦除,所以这两个方法的特征签名一模一样。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java