gpt4 book ai didi

java - 为什么我的 JSoup getTitle() 方法返回 null 而不是网页标题?

转载 作者:行者123 更新时间:2023-11-30 03:49:10 25 4
gpt4 key购买 nike

我对 OOP 和 JSoup 还很陌生,所以我不知道出了什么问题。我有一个未使用 OOP 编写的代码版本,可以正确显示网页标题,但我的 getTitle() 方法在此代码中返回 null。我希望它返回网页的名称。我使用调试器看到文档正在连接到网站。

package nld.dailyquotes;

import java.io.IOException;
import java.util.ArrayList;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class DailyQuotes {

private Document doc;
private String title;


public void setDocument(String url){

try {
doc = Jsoup.connect(url)
.userAgent("Chrome")
.get();
}
catch (IOException e) {
e.printStackTrace();
}
}

public Document getDocument () {
return doc;
}

public void setTitle(){
title = doc.title();
}

public String getTitle(){
return title;
}

public static void main (String[] args){
DailyQuotes dq = new DailyQuotes();
dq.setDocument("http://www.brainyquote.com/quotes/topics/topic_inspirational.html");
System.out.println(dq.getTitle());

}

最佳答案

getTitle 仅返回字段 title 的值,默认情况下为 null。这是因为您从未调用 setTitle,恕我直言,这是交互交互的。

也就是说,按照惯例,setTitle 应该应用一个值,而不是检索一个值。相反,我会摆脱 setTitle 方法,而简单地在 getTitle 方法中使用它的功能,例如......

    public String getTitle(){
return doc == null ? null : doc.title();
}

这也意味着您根本不需要 title 字段...

关于java - 为什么我的 JSoup getTitle() 方法返回 null 而不是网页标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24856677/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com