我在我的Android应用程序中有一个jsoup代码,我用它来检查网站上是否有div,但它让我回复“porukeDiv IS NOT NULL”,即使它是。这是代码:
Document doc = Jsoup.parse(html);
// Now you can, for example, retrieve a div with id="username" here
Elements porukeDiv = doc.select("div#logovan > a[header-pvtmsg-link]"); //bilo Element
String porukeText = porukeDiv.text();
System.out.println("porukeDiv: " + porukeDiv);
System.out.println("porukeText: " + porukeText);
if (porukeDiv != null) {
System.out.println("porukeDiv NOT NULL! ");
if (porukeText.startsWith("Poruke (")) {
loggedin[0] = true;
startstopAlarmPoruke();
}
}else{
loggedin[0] = false;
startstopAlarmPoruke();
System.out.println("porukeDiv NULL! ");
但是当它为null时,这是我在logcat中获得的信息:
11-21 06:14:25.092 868-927/com.package.pack I/System.out﹕ porukeDiv:
11-21 06:14:25.092 868-927/com.package.pack I/System.out﹕ porukeText:
11-21 06:14:25.092 868-927/com.package.pack I/System.out﹕ porukeDiv NOT NULL!
为什么会这样?
答案 0 :(得分:0)
该对象不为空,用空值初始化。
您可以查看porukeDiv和porukeText以获取""代替。
使用porukeText.equals("")而不是' =='运营商
答案 1 :(得分:0)
根据the API doc,doc.select(...)
不会返回NULL
,但如果找不到与选择器匹配的内容,则为Elements
个空集合。
尝试以这种方式进行测试:
if (!porukeDiv.isEmpty()) {
System.out.println("porukeDiv NOT Empty! ");
}else{
System.out.println("porukeDiv Empty! ");
}