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是什么: