以下のコードで問題が発生しています。私の問題は、変数BGCLRFORPNLS
は変数c
と同じ値をとらないということです。しかし、この変数は参照であるため、うまくいくはずです。java設定変数
public static Color BGCLRFORPNLS = Color.BLACK;
private static void Initialze() {
List<Color> colors = new ArrayList<Color>();
colors.add(BGCLRFORPNLS);
Color c = colors.get(0);
JOptionPane.showMessageDialog(null, "hashcode of c: "+ c.hashCode());
JOptionPane.showMessageDialog(null, "hashcode of BGCLRFORPNLS: "+ BGCLRFORPNLS.hashCode());
c = Color.red;
JOptionPane.showMessageDialog(null, "color of c: "+ c.toString());
JOptionPane.showMessageDialog(null, "color of BGCLRFORPNLS: "+ BGCLRFORPNLS.toString());
}
ジップ私は理解していますが、それ以外の方法で動作するようになっていますか?どんな懇願? – user744329
@ user744329、BGCLRFORPNLSの値を変更する場合は、BGCLRFORPNLS = Color.redのような処理を行う必要があります。 BGCLRFORPNLSはfinalではないため、値を変更できます。しかし、おそらくここであなたが実際にやろうとしていることを広げてください。 – ftr