查看: 1018| 回复: 6
跳转到指定楼层
上一主题 下一主题
收起左侧

为啥Queue里面不能放primitive的int?

全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
为啥一定要放Integer呢?

本帖被管理员扣分。扣分情况:-20,理由:无数次跨区发帖。
.. 提醒:对于骂人、戾气、广告等行为,请勿对骂,请举报。

评分

参与人数 1大米 -20 收起 理由
管理员-20 无数次跨区发帖

查看全部评分


上一篇:DMV Renew驾照可以只使用EAD卡吗?
下一篇:SSN号码忘了怎么找回
全局:
生活中还需要这经验?
回复

使用道具 举报

全局:
可以啊,自动转化的
回复

使用道具 举报

🔗
holybeast 2021-11-2 14:31:28 | 只看该作者
全局:
如果我没记错的话。

Java:因为Queue是一个container,它的内部元素的类型是通过Generics在申明变量的时候确定的。比如Queue<Integer> queue = new LinkedList<>(),而Generics在Java里面必须是一个class,所以得是Integer而不是int。
. 1point 3acres
当然你可以实现一个自己定义一个不支持Generics的IntQueue,比如https://home.cs.colorado.edu/~ma ... tions/IntQueue.java
. 1point 3 acres
此外:Java对Generics支持的不是很彻底:
Generics are checked at compile-time for type-correctness. The generic type information is then removed in a process called type erasure.
回复

使用道具 举报

🔗
vvqqdd 2021-11-2 15:29:04 | 只看该作者
全局:
找本教材看看
google一下也行
回复

使用道具 举报

🔗
alexsunyx 2021-11-2 15:58:57 | 只看该作者
全局:
因为Queue<T>这样的generic type只接受class type,不接受generic type。.--
根本原因是Java generic type是语法糖
回复

使用道具 举报

🔗
FitWarbler 2021-11-2 16:30:53 | 只看该作者
全局:
<>里面的type parameter,只能是class或者interface。
往new出来的Queue object里加的应该是Object,而int不是。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

>
快速回复 返回顶部 返回列表