Java双重转型 (int[]) (int[])

3
什么是 (int[]) (int[]) ?
private Object[] slots = new Object[8192];

int[] block = (int[]) (int[]) this.slots[0];

8
仅返回已翻译的文本:没有 (int[]) 不能做到的。 - user647772
4
你的铸件存在冗余。 - Nishant
1
你将 this.slots[0] 转换为 int[],然后又这样做了一次。 - Matthias
1
为什么您不给我们任何提示,为什么您期望它做某些事情。 - Marko Topolnik
3
如果数据类型是Double而不是int,这个问题会更有趣。 - bzlm
显示剩余2条评论
1个回答

8
在这种情况下,第二个括号不起任何作用。它与输入以下内容相同:
private Object[] slots = new Object[8192];

int[] block = (int[]) this.slots[0];
block = (int[]) block;

编辑:

为了澄清,我所指的“第二次”转换是左边的那个。


2
第一个转换不是什么都不做吗? - bzlm
@bzlm 说得好,不过我理解 Bort 的回答是他指的是左边的第二个转换 :-) - maksimov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接