当前位置 : 主页 > 手机开发 > 其它 >

为什么不为泛型自动封装Java原始类型?

来源:互联网 收集:自由互联 发布时间:2021-06-19
Java不允许在通用数据结构中使用原始类型.例如.的ArrayList INT不被允许.原因是,原始类型不能直接转换为Object.但是Java 1.5确实支持自动装箱,而包装类在通用数据结构中工作.那么为什么编
Java不允许在通用数据结构中使用原始类型.例如.的ArrayList< INT>不被允许.原因是,原始类型不能直接转换为Object.但是Java 1.5确实支持自动装箱,而包装类在通用数据结构中工作.那么为什么编译器无法将其自动装入ArrayList< Integer>?为什么这不起作用还有其他原因吗? 据我所知,你提出的ArrayList< int>将与ArrayList< Integer>相同.是对的吗? (换句话说,在内部它仍然存储一个Integer;并且每次你输入或取出它时,它会自动打包/取消装箱,但是autoboxing / autounboxing已经为ArrayList< Integer&gt ;. 如果它是相同的,那么我不明白具有重复语法< int>的效用是什么?这意味着与< Integer>相同. (实际上它会引入其他问题,因为例如int []与Integer []不是相同的运行时类型,所以如果你有T [],并且T是int,它意味着什么?)
网友评论