当前位置: 首页 > 知识库问答 >
问题:

在Java 8中,在Optional.empty中转换空字符串的可选<String>

濮阳耀
2023-03-14

给定一个字符串,我需要得到一个可选,如果字符串为空或空,结果将是Optional.empty.我可以这样做:

String ppo = "";
Optional<String> ostr = Optional.ofNullable(ppo);
if (ostr.isPresent() && ostr.get().isEmpty()) {
    ostr = Optional.empty();
}

但肯定有更优雅的方式。

共有3个答案

柯宜年
2023-03-14

Java11回答:

var optionalString = Optional.ofNullable(str).filter(Predicate.not(String::isBlank));

String::isBlank处理范围更广的“空”字符。

帅雅逸
2023-03-14

使用Apache Commons:

.filter(StringUtils::isNotEmpty)
柳鸿信
2023-03-14

您可以使用过滤器:

Optional<String> ostr = Optional.ofNullable(ppo).filter(s -> !s.isEmpty());

如果ppo为null或空,则返回空的可选项。

 类似资料:
  • 问题内容: 给定一个字符串,我需要获取一个Optional,如果字符串为null或为空,则结果将为Optional.empty。我可以这样: 但是,肯定有一种更优雅的方法。 问题答案: 您可以使用过滤器: 如果为null或为空,则将返回一个空的Optional 。

  • 如何读取文件并从json转换为字符串?示例:我的文件编号为。json[“23423423”,“234234234”,“53453453”] 我想要的是:String numbers=“'23423423','234234234','53453453'”;

  • 本文向大家介绍在Java中将StringBuilder转换为字符串,包括了在Java中将StringBuilder转换为字符串的使用技巧和注意事项,需要的朋友参考一下 StringBuilder类的toString()方法重新运行当前对象的String值。要将StringBuilder转换为String值,只需在其上调用toString()方法。 实例化StringBuilder类。 使用appe

  • 问题内容: 我有一个; 我想转换为字符串数组。我该怎么做?有内置的Java函数吗?可以手动完成,但是我正在搜索Java内置函数。 我想要一个数组,其中字符串的每个字符都是一个字符串。像char’n’现在将是存储在数组中的字符串“ n”。 问题答案: 要开始你的作业,请在正则表达式上拆分字符串,该表达式可以为空字符串: 产生数组: 留空的第一条目留给读者练习:-) 注意:在Java 8中,不再包含空

  • 我有一个熊猫数据框(通过导入csv文件创建)。我想用NaN替换空白值。这些空白值中有些是空的,有些包含(可变数量的)空格,,,等等。 使用这个线程中的建议 它会替换所有只包含空格的字符串,但也会替换每个包含空格的字符串,这不是我想要的。 如何仅用空格和空字符串替换字符串?

  • 由于某种原因,一旦它命中,它就会退出并返回,而不是执行。 把转换成并检测莫尔斯电码中的双空格的最佳方法是什么? 本文摘自本codewars挑战:https://www.codewars.com/kata/54b724efac3d5402db00065e/train/java