int number = 0;
anyButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
//And here I get the error:
number++;
}
});
は、あなたがそれを行う方法を知っていますか?
int number = 0;
anyButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
//And here I get the error:
number++;
}
});
は、あなたがそれを行う方法を知っていますか?
プリミティブではなく、可変スレッドセーフ変数が必要です。
は、ラッパークラスのいずれかによってそのプリミティブの交換を検討(あなた自身の、または標準的なものである可能性があり[例えばAtomicInteger
])または単一要素の配列:
final AtomicInteger number = new AtomicInteger();
...
number.getAndIncrement();
私のようにフラグこれをつもりはありません質問はわずかに異なりますので、重複していますが、なぜこれがここにあるのかという理由とその理由の背後にある理由があります:[匿名クラスでは最終変数だけがアクセスできるのはなぜですか?](https://stackoverflow.com/questions/4732544/why-匿名クラスでしかアクセスできない) –
Ok!私はその質問を見ませんでした。ごめんなさい! – Andy