java泛型的简介说明
下文笔者讲述java泛型的简介说明,如下所示
在JDK5中 Java语言引入了泛型机制 但是这种泛型机制其实是通过类型擦除来实现 即Java中的泛型只在程序源代码中有效(源代码阶段提供类型检查) 在编译后的字节码中自动用强制类型转换进行替代 也就是说 Java语言中的泛型机制其实就是一颗语法糖 相较与C++、C#相比,其泛型实现实在是不那么优雅
public static void main(String[] args) { Map<String,String> map = new HashMap<String,String>(16); map.put("name","java265.com"); String name = map.get("name"); System.out.println(name); } 通过jad反编译出来的代码 public static void main(String[] args) { //类型擦除 Map map = new HashMap(); map.put("name", "java265.com"); //强制转换 String name = (String)map.get("name"); System.out.println(name); }
注意事项: 通过上面反编译后的代码我们发现虚拟机中其实是没有泛型的 只有普通类和普通方法 所有泛型类的类型参数在编译时都会被擦除 泛型类并没有自己独有的Class类对象
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。