Java Android错误不可比较的类型: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(); } 我应该对这些进行哪些更改 我在堆栈中搜索过,但无法修复它们。我是这方面的新手,请帮帮我 顺便说一句,我正在使用

我正在导入一个源代码,在代码的两个位置出现了此错误:

错误:(86,60)错误:不可比较的类型:Object和int

还有这个:

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();
}