Java-无法为最终变量查询赋值。这是最后一个字符串

Java-无法为最终变量查询赋值。这是最后一个字符串,java,jbutton,Java,Jbutton,最后一个字符串有问题。它是一个mysql数据库客户端。 我想通过单击JButton来更改查询 public void run() { final String query; (...) start.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if(firstSel==null || selchose.getText().equals(selchose_s

最后一个字符串有问题。它是一个mysql数据库客户端。 我想通过单击JButton来更改查询

public void run() {
final String query;
(...)
start.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e)
    {
if(firstSel==null || selchose.getText().equals(selchose_str) || selbase.getText().equals(base_str)) {
            query = "Select * FROM EMP";
        }
(...)
问题在于

query = "Select * FROM EMP";
它告诉我

无法为最终变量查询赋值


如何解决此问题?

将查询字符串设置为匿名内部ActionListener类的私有类字段或局部变量。

将您的类命名为{
class YOurClassName{

private String query; //make here.....<<<<<<<<

public void run() {

(...)
start.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e)
    {
if(firstSel==null || selchose.getText().equals(selchose_str) || selbase.getText().equals(base_str)) {
            query = "Select * FROM EMP";
        }
(...)


}

private String query;//make here….@Ganjira:???这很简单。只需将query声明为类的变量,而不是run方法内部的变量。您肯定知道如何执行此操作,对吗?我在run方法外部声明了query,但它显示了相同的问题。:/九、它。我问过一段时间,这是关于同一个问题的,可能对你有帮助。@Ganjira:你真的不明白吗?