gpt4 book ai didi

java - 在不使用 OR 运算符的情况下检查 String 是否包含 Java 中的多个值?

转载 作者:行者123 更新时间:2023-12-05 03:36:50 25 4
gpt4 key购买 nike

我这里有一个代码,用于检查记录的标题是否包含我们要忽略的四个值之一。如果标题包含 4 个字符串,我们想将其放入数据库并将 state 设置为 IGNORE。如果没有,我们还是想把它放到数据库中,并设置stateNEW,以备后处理。

该代码有效,但是,它有点令人眼花缭乱。我怎样才能以更清晰、更高效、更易于阅读的方式编写此代码?

 if (
record.getTitle().contains("word") ||
record.getTitle().contains("different word") ||
record.getTitle().contains("phrase") ||
record.getTitle().contains("different phrase")
) {
int id = dao.insert(nv);
nvRecord =
NV
.builder()
.from(nv)
.setId(id)
.setState(state.IGNORE)
.build();
} else {
int id = dao.insert(nv);
nvRecord =
NV
.builder()
.from(nv)
.setId(id)
.setState(state.NEW)
.build();
}

最佳答案

您可以对“标题”使用正则表达式,后跟一、二、三或四。喜欢,

if (record.getTitle().matches("Title [1234]")) {

或者编译一个Pattern并使用一个Matcher

Pattern p = Pattern.compile("Title [1234]");
Matcher m = p.matcher(title);
if (m.matches()) {

根据您更新的要求,流式传输您的特殊题名的 List 并检查记录题名是否包含它。喜欢,

if (List.of("Titanic", "The Great Gatsby", "Catch Me If You Can", "Inception")
.stream().anyMatch(record.getTitle()::contains))

关于java - 在不使用 OR 运算符的情况下检查 String 是否包含 Java 中的多个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69533097/

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