Java Android错误不可比较的类型:Object和int
我正在导入一个源代码,在代码的两个位置出现了此错误: 错误:(86,60)错误:不可比较的类型:Object和int 还有这个:Java Android错误不可比较的类型:Object和int,java,android,android-studio,telegram,Java,Android,Android Studio,Telegram,我正在导入一个源代码,在代码的两个位置出现了此错误: 错误:(86,60)错误:不可比较的类型:Object和int 还有这个: if (passwordFrameLayout.getTag() != 0) { // ^Here t = (Integer) passwordFrameLayout.getTag(); } 我应该对这些进行哪些更改 我在堆栈中搜索过,但无法修复它们。我是这方面的新手,请帮帮我 顺便说一句,我正在使用
if (passwordFrameLayout.getTag() != 0) {
// ^Here
t = (Integer) passwordFrameLayout.getTag();
}
我应该对这些进行哪些更改
- 我在堆栈中搜索过,但无法修复它们。我是这方面的新手,请帮帮我
- 顺便说一句,我正在使用Android Studio的最新版本
- 我正在开发的主要没有变化
@ViewDebug.ExportedProperty
public Object getTag() {
return mTag;
}
在android-23/android/view/view.java中
if (passwordFrameLayout.getTag() instanceOf Integer && (Integer)passwordFrameLayout.getTag() != 0) {
//
t = (Integer) passwordFrameLayout.getTag();
}
我们应该做到这一点getTag()
返回一个对象,您必须
- 首先确保它是一个整数
- 将其转换为整数
要将它与另一个整数进行比较,
getTag()的类型是什么?它显然不是一个整数。@Eran编辑并添加了。知道它是一个对象并没有多大帮助。它返回的实际(特定)类型是什么?@Eran输出类型是FrameLayout密码FrameLayout
那么为什么要将它与数字进行比较?你期望发生什么?
if (passwordFrameLayout.getTag() instanceOf Integer && (Integer)passwordFrameLayout.getTag() != 0) {
//
t = (Integer) passwordFrameLayout.getTag();
}