在我的代码中,我称:

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


而且有效。但是Android Studio给我警告,说强制转换为(Integer)是多余的。但是,如果删除类型转换,则由于int&java.lang.Object类型不兼容而引发错误。我做错了什么,该怎么做才能消除此警告?

最佳答案

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

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


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

顺便说一句,如果您提取变量

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


AS不会抱怨。

关于java - Android Studio会提供多余的强制转换警告,但并不是真正多余的,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27771415/

10-10 22:15