Java的泛型原来这样让人不舒服
Java泛型中的类型擦除 意为只在编译时刻进行类型检查 实际在运行时 编译器会自动插入相应的转换(cast)代码
List list = new ArrayList();
list add( Hi ); String x = list get( );以上代码将会被中间编译为
List list = new ArrayList();
list add( Hi ); String x = (String) list get( );
我感觉Java的泛型很假 其实只是表面性的工作 只是在编译时刻进行检查 运行时都是Object 然后转换成相应的类型 在Java中 基本类型(int bool long)还不能作为类型参数 Java的泛型实质上没带来效率的提升 相反 C#的泛型实现就不一样了 一切都在运行时确定 谈语言 相对于Java 我还是喜欢C#语言 不过学习Java真方便 鼠标点在某个方法上某个类上 按住Ctrl 就看见源代码 NET现在也有这方面的东西了 不过感觉还是Java直接 我感觉学习Java要比 NET快 因为很透明 大概这需要一定的基础支撑吧 有了一定的思想 技术平台间的迁移我觉得不难 如果你用过C# 又用过Java 但是你若不知道C#和Java之间的差别 那就不好了 这说明你在被技术牵着走 没有自己的思考 我们需要的不是 精通 N多的XXX框架 我们需要了解这些框架的架构设计 能做出灵活选择 知道各个框架的特点和弱点 来让其为我们服务 我们要用最合适的技术来解决遇到的问题 基础很重要 像 NET Java这些高层的技术背后其实都是一些基础的思想 各个语言各个框架各个平台 大同小异 我们需要领悟这些 领悟了这些 我认为你学习其他应用方面的技术就不会太难 一切都是水到渠成
lishixinzhi/Article/program/Java/hx/201311/26255