首页 > 编程语言 >Java中String类型判空

Java中String类型判空

时间:2022-12-08 18:22:05浏览次数:42  
标签:Java String equals 判空 null 方法

根据之前的学习,我们已经知道在Java中String类型是不可以通过==直接判等的,而应该通过equals()

那么在Java中String类型要如何判空呢?

 

在最开始,我以为判空是这样进行的——

String a;

if(a.equals(null)){

System.out.print("空");

}

但是这样并不成立;

而且,当a真正为空的时候,通过equals()是会报错的。

因为equals的本质是通过地址去寻找其数据进行对比,当地址为空的时候自然无法执行。

 

通过查阅资料我发现了以下String判空方式

1.最多人使用的一个方法, 直观, 方便, 但效率很低: if(s == null || s.equals(""));

2.比较字符串长度, 效率高, 是我知道的最好一个方法: if(s == null || s.length() == 0);

3.Java SE 6.0 才开始提供的方法, 效率和方法二几乎相等, 但出于兼容性考虑, 推荐使用方法二. if(s == null || s.isEmpty());

4.这是一种比较直观,简便的方法,而且效率也非常的高,与方法二、三的效率差不多: if (s == null || s == “”);

 

明明是Java的知识,但是却是在Javaweb的学习中才发现

于是特记录下来

 

标签:Java,String,equals,判空,null,方法
From: https://www.cnblogs.com/yansans/p/16966931.html

相关文章

  • Java web区分两个按钮
    在.jsp文件中有时候会出现两个按钮的情况在最开始的时候是打算通过两个hidden对两个按钮进行区分于是我写了这样的语句  然而事实却是,这样的语句无法分辨提交的......
  • JavaScript高级
    javascript高级JavaScript进阶-第1天学习作用域、变量提升、闭包等语言特征,加深对JavaScript的理解,掌握变量赋值、函数声明的简洁语法,降低代码的冗余度。理解作......
  • JavaScript获取某个时间到n天前时间组成的数组
    代码getLastNDay(time,n,type=''){letarry=[]for(leti=0;i<n;i++){letdate=newDate(time)date.setDate(date.getDate()......
  • JavaScript获取某个时间到n个月前时间组成的时间数组
    代码//time是date格式时间或字符串,n表示那个月,type是返回结果链接符getLastNMon(time,n,type=''){letdate=newDate(time)letyear=date.getFullYe......
  • toString转化成Json或实体对象
    废话不多说,代码上一波!!! 实体中生成的toSting转json格式或者转实体类格式packagecom.xxx.util;importcom.alibaba.fastjson.JSON;importjavafx.util.Pair;importo......
  • Injection of autowired dependencies failed; nested exception is java.lang.Illegal
    springcloudalibaba整合nacos动态配置的时候项目启动报错:packagepers.miracle.miraclecloud.system.controller;importorg.springframework.beans.factory.annotation.V......
  • java笔记_8_动态调用方法
    //1.根据名称获取类ClassxxxClass=Class.forName("类名");//2.根据名称获取方法//2.1.不带参数MethodxxxMethod=xxxClass.getMethod("方法......
  • JAVA构造性能测试数据
    一、idea配置pom.xml文件1.打开idea编辑器,新建一个Maven项目,File-->New-->Project-->Maven,选择Maven,点击next。2.在Name编辑框中输入项目的名称,这里是dataProject,点......
  • 基于Java8Date-Time API的日期工具类
    在旧版的Java中,日期时间API存在诸多问题,其中有:非线程安全−java.util.Date是非线程安全的,所有的日期类都是可变的,这是Java日期类最大的问题之一。设计很差−Java的......
  • Twitter的分布式自增ID雪花算法snowflake (Java版)
    分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用......