Java 比较按钮背景图像

Java 比较按钮背景图像,java,android,button,if-statement,Java,Android,Button,If Statement,我在比较按钮背景图像时遇到问题,这是我的代码 if (temp[0].getBackground() == temp[1].getBackground()) { ... } 因此,当我运行代码时,temp[0]和temp[1]的背景来自同一个可绘制图形,这表明它们彼此不相等,但如果我这样做了 if (temp[0].getDrawingCacheBackgroundColor() == temp[1].getDrawingCacheBackgroundColor())

我在比较按钮背景图像时遇到问题,这是我的代码

if (temp[0].getBackground() == temp[1].getBackground()) {

        ...
    }
因此,当我运行代码时,temp[0]和temp[1]的背景来自同一个可绘制图形,这表明它们彼此不相等,但如果我这样做了

if (temp[0].getDrawingCacheBackgroundColor() == temp[1].getDrawingCacheBackgroundColor()) {

        ...
    }
它们彼此相等,但如果我有另一个按钮,具有不同的可绘制性,它将作为我不想要的那些同样相等的按钮传递。如何使用if语句来比较按钮的背景图像


temp[]是一个包含按钮的数组。

使用.equals。==运算符仅检查两个引用是否相同。equals函数用于比较对象。假设Android正确地实现了.equals,这应该可以工作。

这归结为:在Java中,对象是使用.equals而不是==;后者应仅用于比较基元int、long…等或对象引用。

if temp[0]。getBackground.equalstep[1]。getBackground是您的意思,对吗?它仍然没有像它应该的那样为我工作\如果getBackground返回一个对象,那么这就是方法。如果equals返回false,则表示两个对象具有不同的值。getBackground的类型是什么?我假设你正在使用Swing,嗯?它返回一个可拖动的,我不知道Swing是什么: