为什么Jsoup div没有给出" null"如果它是空的?

时间:2014-11-21 11:20:30

标签: java android jsoup

我在我的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!

为什么会这样?

2 个答案:

答案 0 :(得分:0)

该对象不为空,用空值初始化。

您可以查看porukeDiv和porukeText以获取""代替。

使用porukeText.equals("")而不是' =='运营商

答案 1 :(得分:0)

根据the API docdoc.select(...)不会返回NULL,但如果找不到与选择器匹配的内容,则为Elements个空集合。

尝试以这种方式进行测试:

if (!porukeDiv.isEmpty()) {
    System.out.println("porukeDiv NOT Empty! ");
}else{
    System.out.println("porukeDiv Empty! ");
}
相关问题