If语句Java中的数组声明和初始化

时间:2014-02-19 19:48:03

标签: java arrays if-statement

所以我试图在我的代码中访问数组的内容,该代码在if语句中初始化和decalred。

这是代码

        String Columns[]=new String[records.size()];
        if(records.size()==3){
            Columns={"Forename","Surname","Salary"};
        }
        else{
            Columns={"Forename","Surname"};
        }
        String Query[]=new String[records.size()];
        for(int i=0; i<records.size(); i++)
        {
            Query[i]="UPDATE table SET "+Columns[i]+"='"+records.get(i)+"' WHERE StaffID="+id;
        }

我得到错误'非法开始表达'和'不是声明'。所以,当我尝试在if语句中定义它时,就像这样......

        if(records.size()==3){
            String Columns[]={"Forename","Surname","Salary"};
        }
        else{
            String Columns[]={"Forename","Surname"};
        }
        String Query[]=new String[records.size()];
        for(int i=0; i<records.size(); i++)
        {
            Query[i]="UPDATE table SET "+Columns[i]+"='"+records.get(i)+"' WHERE StaffID="+id;
        }

我得到了这个:找不到符号列。

有关如何编译此代码的任何建议吗?

感谢所有反馈。提前谢谢。

1 个答案:

答案 0 :(得分:2)

事先声明变量:

String[] columns;
if (records.size()) {
    // set values
} else {
    // set other values
}
// do code logic