0

在下面的代码中

queryCmisAdvance.getAdvanceKeywords()返回类 AdvancePropertyKeywords 的 ArrayList

在类 AdvancePropertyKeywords

有三个参数String Property Name , condition and value.

有时值可能是“”(这不是空的)

现在我想检索值不是 "" 的 propertyName 。

我的代码

   for(AdvancePropertyKeywords apk : queryCmisAdvance.getAdvanceKeywords()){

                if (apk.getValue()!="" ) {
                    System.out.println(apk.getPropertyName() +" " +apk.getCondition() + " "+apk.getValue());
                }
            }

输出

From =   

SentOn > Wed Aug 22 12:00:00 UTC+2 2012 

EmailSubject LIKE folder 

DocumentTitle NULL rgftre  

CarbonCopy LIKE

From value is "" 

SentOn value is Wed Aug 22 12:00:00 UTC+2 2012

EmailSubject value is folder 

DocumentTitle value is rgftre 

CarbonCopy value is ""
4

2 回答 2

1

使用equals()方法而不是!=运算符。equals()方法比较对象内容,而==运算!=符比较object reference values. Object Comparision请参阅以下代码:

for(AdvancePropertyKeywords apk : queryCmisAdvance.getAdvanceKeywords()){
     if (!"".equals(apk.getValue()) {
         System.out.println(apk.getPropertyName() +" " +apk.getCondition() + " "+apk.getValue());
     }
}
于 2012-08-09T12:21:55.720 回答
0

@DanGravell:谢谢,这行得通。

if (!(apk.getValue().equals(""))) {
                System.out.println(apk.getPropertyName() +" " +apk.getCondition() + " "+apk.getValue());
}
于 2012-08-09T12:27:32.490 回答