jhat OQL和where子句

时间:2012-01-12 10:15:59

标签: java jhat

如何在jhat OQL where子句中进行连接[AND]?

我想这样做:

select s from sun.security.x509.X500Name s where  s.canonicalDn !=null and    
/tiberium/(s.canonicalDn.toString())

那就是 - 我想在他们的canonicaldn中找到包含appTrust的所有X500Names。我需要null检查,因为canonicaldn的一些可以为null [并且在这种情况下jhat会抛出一个空指针异常在toString]。

但文字“和”不起作用。

顺便说一下,我使用过滤功能解决了这个问题:

select filter(heap.objects("sun.security.x509.X500Name"), isTiberium);

function isTiberium(s) {  
    return s.canonicalDn !=null && /tiberium/(s.canonicalDn.toString());  
}

1 个答案:

答案 0 :(得分:1)

我发现“和”是&&因为那是javascript和运算符。这是正确的表达方式:

select s from sun.security.x509.X500Name s where  s.canonicalDn !=null &&    
/tiberium/(s.canonicalDn.toString())