首页 > 编程语言 >Java 多个String(字符串)判断是否null(空值)

Java 多个String(字符串)判断是否null(空值)

时间:2022-12-15 20:34:12浏览次数:57  
标签:Java String str3 str2 str1 str4 null

Java 多个String(字符串)判断是否null(空值)

 

 示例:

String s = null;
if (str1 != null) {
    s = str1;
} else if (str2 != null) {
    s = str2;
} else if (str3 != null) {
    s = str3;
} else {
    s = str4;
}

优化:

1 stream 方法

String s = Stream.of(str1, str2, str3)
    .filter(Objects::nonNull)
    .findFirst()
    .orElse(str4);

public static Optional<String> firstNonNull(String... strings) {
    return Arrays.stream(strings)
            .filter(Objects::nonNull)
            .findFirst();
}
String s = firstNonNull(str1, str2, str3).orElse(str4);

2 三元运算符

String s = 
    str1 != null ? str1 : 
    str2 != null ? str2 : 
    str3 != null ? str3 : str4
;

 

3 使用 for 循环判断

String[] strings = {str1, str2, str3, str4};
for(String str : strings) {
    s = str;
    if(s != null) break;
}

 

标签:Java,String,str3,str2,str1,str4,null
From: https://www.cnblogs.com/yizhiamumu/p/16985964.html

相关文章

  • 17 Java内存模型与线程_Java与线程
    目录1线程的实现1.1内核线程实现1.2用户线程实现1.3用户线程加轻量级进程混合实现2Java线程实现3Java线程调度3.1协同式线程调度3.2抢占式线程调度3.3Java线程优......
  • TypeError: forEach is not a function in JavaScript
     以下代码: constparent=this.el.parentElementconsole.log(parent.children)parent.children.forEach(child=>{console.log(child)}) 运行后出现以下错......
  • good-article.2--------Longest Palindromic Substring Part I
    Thisinterestingproblemhasbeenfeaturedinthefamous ​​Greplinprogrammingchallenge​​,andisaskedquiteoftenintheinterviews.Why?Becausethis......
  • 14个非常棒的JavaScript游戏开发框架推荐
    14个非常棒的JavaScript游戏开发框架推荐随着JavaScript结合​​HTML5​​​开发越来越受欢迎,很多浏览器支持的新功能正被用户使用,与此同时,许多新的​​游戏​​​正在使......
  • Java 多线程编程
      ava给多线程编程提供了内置的支持。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。多线程是多任务的一种特别的......
  • Java 异常处理
    Java流(Stream)、文件(File)和IOJava.io包几乎包含了所有操作输入、输出需要的类。所有这些流类代表了输入源和输出目标。Java.io包中的流支持很多种格式,比如:基本类型、......
  • 1945.sum-of-digits-of-string-after-convert 字符串转化后的各位数字之和
    问题描述1945.字符串转化后的各位数字之和解题思路正常思路就好。代码classSolution{public:intgetLucky(strings,intk){vector<int>num;......
  • Java同步器之Condition源码分析
    一、概述条件锁,就是指在获取锁之后发现当前业务场景自己无法处理,而需要等待某个条件的出现才可以继续处理时使用的一种锁。比如,在阻塞队列中,当队列中没有元素的时候是无......
  • maven fmpp+javacc 集成使用简单说明
    dremio以及apachecalcite使用到fmpp+javacc进行代码生成处理,以下是一个简单的集成测试fmpp的作用fmpp实际上是包装了freemarker,提供了cli以及javaapi可以方......
  • java maven工程打出可执行jar包
    javamaven工程打出可执行jar包,在pom.xml中添加如下配置即可<build><plugins><!--设置编译版本--><plugin><groupId>org.apache.maven.......