java - 获取ArrayList值?

标签 java

在下面的代码中

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 ""

最佳答案

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

for(AdvancePropertyKeywords apk : queryCmisAdvance.getAdvanceKeywords()){
     if (!"".equals(apk.getValue()) {
         System.out.println(apk.getPropertyName() +" " +apk.getCondition() + " "+apk.getValue());
     }
}

关于java - 获取ArrayList值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11882094/

相关文章:

java - 使用两种模式 - 一种用于警告及以上。一个用于下面的所有内容

使用 Mock 进行 Java 测试

java - Telnet session 与 TCP session

java - 在应用程序服务器上部署 Web 应用程序。数据库访问凭证

java - 如何根据条件忽略聚合阶段?

java - 实现 equals() 方法设计模式

java - 从 Java 类 (ocijdbc11.dll) 连接到 Oracle 数据库时出现问题

java - 十进制字符串转十六进制字符串

java - 无法在 Spring Boot 中查看缓存指标(命中/未命中/大小)?

java - 在 Java 中以图形方式表示 Mandelbrot 和 Julia 集