イメージのピクセルを取得してArrayListに入れるスクリプトを少し書くと、これらの値を含むクラスを作成します。ここでJavaの同じオブジェクトを比較する
私のコードの部品:
int arrC[] = {255, 0, 0};
Color red = new Color(arrC),
red2 = new Color(arrC);
if(!red.equals(red2)) System.out.print("It's not the same color !");
とクラス色:
class Color {
private int RED;
private int GREEN;
private int BLUE;
private String HEXA;
public Color(int RGBColors[]) throws ColorException {
if(RGBColors.length == 3) {
for(int rgbcolor : RGBColors) {
HEXA = String.format("#%02x%02x%02x", RGBColors[0], RGBColors[1], RGBColors[2]);
}
}else {
throw new ColorException("Erreur : Number of the value incorrect. 3 excepted not: " + RGBColors.length);
}
}
public Color(int hexacolor) {
System.out.println(hexacolor);
}
/* Getter & Setters */
public int getRED() {
return this.RED;
}
//...
}
しかし、彼らが持っている場合でも、変数のRED2と等しくされていない理由は、変数赤い私は理解していません同じ特権。どうすればいい?
あなたは 'equals'を実装していないので、それは異なった参照を比較します。 –
'Object.equals'メソッドを実装する必要があります(たとえば、' Map's内でインスタンスを使用する場合は、 'hashCode'に対して同じことを行う必要があります)、すべてのプロパティを比較しましたか? – qqilihq
関連:http://stackoverflow.com/q/27581/3182664(およびその他の何千もの質問) – Marco13