Aviso do método do acessador sintético
Fiz algumas novas configurações de aviso no eclipse. Com essas novas configurações, estou enfrentando um aviso estranho. Depois de ler, fiquei sabendo o que é, mas não consegui encontrar uma maneira de removê-lo.
Aqui está o meu problema com o código de exemplo
public class Test {
private String testString;
public void performAction() {
new Thread( new Runnable() {
@Override
public void run() {
testString = "initialize"; // **
}
});
}
}
A linha com** me dá um aviso no eclipse
Read access to enclosing field Test.testString is emulated by a synthetic accessor method.
Increasing its visibility will improve your performance.
O problema é que não quero alterar o modificador de acesso detestString
. Além disso, não deseja criar um getter para ele.
Que mudança deve ser feita?
More descriptive example
public class Synthetic
{
private JButton testButton;
public Synthetic()
{
testButton = new JButton("Run");
testButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae)
{
/* Sample code */
if( testButton.getText().equals("Pause") ) {
resetButton(); // **
} else if( testButton.getText().equals("Run") ) {
testButton.setText("Pause"); // **
}
}
}
);
}
public void reset() {
//Some operations
resetButton();
}
private void resetButton() {
testButton.setText("Run");
}
}
Linhas com**
me dá o mesmo aviso.