gpt4 book ai didi

java - 如果定义了 jsoup 中的元素,则分配给变量的最简洁方法是什么?

转载 作者:行者123 更新时间:2023-12-01 21:55:03 25 4
gpt4 key购买 nike

我正在做这个String name = doc.select("h1#name").first().text();并且我在'h1#name的页面上收到了一个N​​ullPointerException ' 元素不存在。我正在解析 DOM,获取数百个元素。看来我需要在分配之前测试每个元素,所以我将其更改为:

String name = null;

if( doc.select("h1#name").first() != null && doc.select("h1#name").first().text() != null ))
name = doc.select("h1#name").first.text();

有更好的方法吗?我刚刚学习 Java,我的背景是 Perl,我会做这样的事情:

my $name = $doc->select("h1#name")->text if $doc->select("h1#name");

这没什么大不了的,因为我的代码确实适合我。我只是想知道在 Java 中是否有更简洁的方法来做到这一点。

最佳答案

您不会来检查您所访问的所有对象以访问您想要的值。

要将 Perl 语法转换为 java,我将使用 ternary operator :

name = doc.select("h1#name").first() != null ? 
doc.select("h1#name").first().text() : null

无需检查doc.select("h1#name).first().text() != null除非您的名称中有非空值并且您不想用 null 覆盖它。

关于java - 如果定义了 jsoup 中的元素,则分配给变量的最简洁方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34508138/

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