我想问的是,如果这个 list 是这样的:LinkedList<Integer> list = new LinkedList<>();
list.remove(0);
这个 0,是 index 0 还是里面的某个元素 0 ? 假设 list 里面有个元素的值也恰好是 0 。
反正我是晕了。
我想问的是,如果这个 list 是这样的:LinkedList<Integer> list = new LinkedList<>();
list.remove(0);
这个 0,是 index 0 还是里面的某个元素 0 ? 假设 list 里面有个元素的值也恰好是 0 。
反正我是晕了。
|
liufishOct 24, 2020
1
得空我试一下先😄
|
|
ciaolyOct 24, 2020 via Android
2
不懂。你这样用的话,参数 0 是 int 还是 Integer ?感觉应该是根据你传入的参数 0 的类型决定用哪个方法吧
|
|
ljpCNOct 24, 2020 via Android
3
可是 0 不是 Object 叭
|
|
4
类型由窄到宽选择
|
|
lance6716Oct 24, 2020 via Android
5
好问题,感觉 Java 不好处理这个
|
|
6
|
|
7
???这个问题不懂的话,建议先看 The Java Language Specification Java SE Edition.
重载是编译期就确定是哪个方法,如果还有个变元重载,那还更分不清了??? 编译期确认方法三个阶段 1.不允许装箱拆箱 也不允许变元重载 2.允许装箱拆箱重载 3.允许装箱拆箱 允许变元重载,变元重载优先级最低 |
|
8
如果是传参是 int,那默认是调用 remove(int var1)
如果 Integer.valueOf()封装下 int 值,那就调用 remove(Object var1)了 如楼上说的,根据你传参类型是基本还是引用来决定的 |
|
9
@1194129822 我是前端,用 Java 做 Leetcode,老兄你稍安勿躁,少打两个问号,也同样可以表达你的意思。
谢谢哈,答案不错,已经感谢 |
|
10
|
|
yungo8Oct 24, 2020 via Android
12
remove object 这个很少用的吧,都没印象有这个方法
|
|
wudayeOct 24, 2020 via Android
14
Jvm 规范对重载优先级有定义
|
|
aguesukaOct 24, 2020 via Android
15
建议配合 fun(Object[])fun(int...)fun(int[])fun(Object)使用
|
|
xuanbgOct 24, 2020
16
0 首先是 int,然后是 Integer,最后才是 Object 。
|
|
BBCCBBOct 24, 2020
17
你传 int 就是 index,你穿 Integer 就是 object??
|