Android Studio提供了多余的强制转换警告,但它并不是多余的

时间:2015-01-04 23:14:54

标签: java android

在我的代码中,我打电话:

myArray[ (Integer) compoundButton.getTag() ] = true;

它有效。然而Android Studio给我一个警告,说铸造到(整数)是多余的。但是,如果我删除了强制转换,它会因为int&类型不兼容而抛出错误。 java.lang.Object继承。我做错了什么,我该怎么做才能删除此警告?

1 个答案:

答案 0 :(得分:1)

不,你的代码没有任何内容,显然AS在这里是错误的,我的机器上的结果相同,而且与Android无关。

int[] ints = new int[] {};
Object foo = new Object();
ints[((int) foo)] = 1; // complains

(您可能希望转换为int(不是Integer),但这不会解决问题。)

BTW,如果你提取变量

int indexFromTag = (int) button.getTag();
myArray[indexFromTag];

AS不会抱怨。