Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 变量必须提供维度表达式或数组初始值设定项错误_Java_Arrays - Fatal编程技术网

Java 变量必须提供维度表达式或数组初始值设定项错误

Java 变量必须提供维度表达式或数组初始值设定项错误,java,arrays,Java,Arrays,出于测试目的,我硬编码了一个bean数组,以便将变量传递给数据库。我现在从一个表单中提取变量,如果它们不为null,我想在bean数组中设置它们。我想我的语法是错误的 硬编码: CriteriaBean[] filters = new CriteriaBean[] { new CriteriaBean("YEAR","=","2012"), new CriteriaBean("LOCATION","in","('XXX','YYY')"), new CriteriaBea

出于测试目的,我硬编码了一个bean数组,以便将变量传递给数据库。我现在从一个表单中提取变量,如果它们不为null,我想在bean数组中设置它们。我想我的语法是错误的

硬编码:

CriteriaBean[] filters = new CriteriaBean[]
{
    new CriteriaBean("YEAR","=","2012"),
    new CriteriaBean("LOCATION","in","('XXX','YYY')"),
    new CriteriaBean("TOM","is","not null") 
};
我试着做类似的事情,但得到了错误:

 CriteriaBean[] filters = new CriteriaBean[]
           {
            if (form.getYear() != null) 
            {   
            new CriteriaBean("YEAR","=","2012")
            }


           };
菜豆

public class CriteriaBean
    {
public static final CriteriaBean[] EMPTY_ARRAY = new CriteriaBean[0];

private String fieldName;
private String value;
private String operation;

public CriteriaBean() { } 
public CriteriaBean( String field, 
                              String op, 
                              String val ) 
{
   this.fieldName = field; 
   this.operation = op;
   this.value = val;
}



public String getName() { return this.name; }
public String getOp() { return this.op; }
public String getVal() { return this.val; }

public void setName(String val) { this.name = val; }
public void setOp(String val) { this.op = val; }
public void setVal(String val) { this.val = val; }
有没有更好的方法来做到这一点???

关闭!试试这个:

CriteriaBean[] filters = form.getWySelect() == null
    ? new CriteriaBean[] {}
    : new CriteriaBean[] {
        new CriteriaBean("WORKLOAD_YEAR","=","2012")
      };

此代码使用语法根据条件使用备用初始值设定项。

我想我看到了它在做什么…
DetFilterCriteriaBean[]filters=form.getWySelect()
…如果我有更多的表单变量怎么办?像3个不同的,就像我硬编码的一样