Java Jsoup返回的字符串"&引用;在等于时不返回true(“";”)

Java Jsoup返回的字符串"&引用;在等于时不返回true(“";”),java,jsoup,equals,Java,Jsoup,Equals,当我遇到以下情况时,只是四处玩耍并从站点中提取一些数据进行操作: String request = "http://foo"; String data = "bar"; Connection.Response res = Jsoup.connect(request).data(data).method(Method.POST).execute(); Document doc = res.parse(); Elements all = doc.select("td"); for(Element

当我遇到以下情况时,只是四处玩耍并从站点中提取一些数据进行操作:

String request = "http://foo";
String data = "bar";

Connection.Response res = Jsoup.connect(request).data(data).method(Method.POST).execute();
Document doc = res.parse();
Elements all = doc.select("td");

for(Element elem : all){
    String test = elem.text();
    if(test.equals(" ")){
       //redefine  test to 0 and print it
    }
    else{
       //print it
}
所述现场的编码如下:

<td align="center">Henry</td>
<td>23</td>
<td align="center">Savannah</td>
<td>15</td></tr>
...
<td align="center"> </td>
<td> </td>
<td align="center">Jane</td>
<td>15</td></tr>
它返回真的


给出了什么?

我不知道您是否控制了响应正文中发送的HTML,或者您是否在浏览器的源页面或其他地方看到了HTML

<td> </td>
因此,您可以只检查
char
两个值,一个用于空格,另一个用于非中断空格


请注意,可能还有其他代码点表示为空白。你需要知道你在寻找什么。

试着准确地检查调试器中的
test.charAt(0)
是什么。这很奇怪。是否有其他正在运行的线程可能正在更改
test
@ᴍ阿伦ᴍ没有其他线程<代码>测试仅在for循环中定义。@patterned:不,它只显示它是空白。您想查看Unicode字符号。在我看来,调试器屏幕截图根本没有显示
test.charAt(0)
的返回值。请执行
System.out.println((int)test.charAt(0))
并将其与
System.out.println((int)”.charAt(0))
进行比较。
<td> </td>
<td>&nbsp</td> // or &#160
char nbsp = 160;