加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

为什么java.lang.Integer不扩展java.lang.Long?

发布时间:2020-12-15 04:45:12 所属栏目:Java 来源:网络整理
导读:可以将整数值分配给long变量. 可以将整数值自动装箱到Long引用变量中. 但是无法将Integer对象分配给Long引用变量. 我的视图是整数/整数是Long / long支持的特定值范围. 所以层次结构应该是Integer extends Long和Long extends Number. 观点邀请. 解决方法 Lo
可以将整数值分配给long变量.
可以将整数值自动装箱到Long引用变量中.
但是无法将Integer对象分配给Long引用变量.

我的视图是整数/整数是Long / long支持的特定值范围.

所以层次结构应该是Integer extends Long和Long extends Number.

观点邀请.

解决方法

Long包含一个包含Long值的long成员(值).

如果Integer是Long的子类,Integer将使用基类的长成员,这是浪费的(因为long占用int的两倍),或者忽略它并使用自己的int成员,这将是更浪费(因为在这种情况下,Integer类将包含int成员和基类的long成员).

原始类型的盒装版本应该尽可能高效(因为在某些情况下你被迫使用它们,例如Collections,它们不能直接保存基元).因此,任何会增加Integer类存储的类层次结构似乎都是个坏主意.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读