gpt4 book ai didi

java - 使用 lambda 检查某些内容是否等于 null 或空

转载 作者:太空宇宙 更新时间:2023-11-04 12:41:51 26 4
gpt4 key购买 nike

我有一个类,它使用 Java 中的 Lambda 计算句子中的平均单词数。我遇到的问题是,如果 corp 为 null 或为空,我需要返回 0。目前,如果 corp 为 null 或为空,我将得到 NaN。我的代码的其余部分做了它应该做的事情,但我无法弄清楚这部分。

public class AverageNumberOfWordsPerSentence extends TextMetric<Double> {
@Override
public Double apply(final Corpus corp) {
Sentences sentences = new Sentences();
List<String> sentenceList = sentences.apply(corp);

LongSummaryStatistics lss = corp.texts().stream()
.map(blob -> blob.text())
.flatMap(string -> stream
(string.split("\\W+")))
.filter(string -> !string.isEmpty())
.mapToLong(String::length)
.summaryStatistics();
return (double)lss.getCount() /
sentenceList.size();
}

最佳答案

将返回语句更改为:

return sentenceList.isEmpty() ? 0.0 : (double)lss.getCount() / sentenceList.size();

然后希望告诉你“不要使用控制结构”的人会接受它。严格来说,?:运算符一个控制结构,但它没有像ifwhile这样的关键字。

关于java - 使用 lambda 检查某些内容是否等于 null 或空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36758276/

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