function 1: 最多人使用的一个方法, 直观, 方便, 但效率很低.
 function 2: 比较字符串长度, 效率高, 是我知道的最好一个方法.
 function 3: Java SE 6.0 才开始提供的方法, 效率和方法二几乎相等, 但出于兼容性考虑, 不推荐使用

以下是三种方法在机器上的运行结果: (机器性能不一, 仅供参考)
 function 1 use time: 141ms
 function 2 use time: 46ms
 function 3 use time: 47ms

三种方法的代码如下:

方法一:

  1. public void function1(String s,int n) {
  2. long startTime = System.currentTimeMillis();
  3. for(long i = 0; i<n; i++) {
  4. if(s == null || s.equals(""));
  5. }
  6. long endTime = System.currentTimeMillis();
  7. System.out.println("function 1 use time: "+ (endTime - startTime) +"ms");
  8. }

方法二:

  1. public void function2(String str,int n) {
  2. long startTime = System.currentTimeMillis();
  3. for(long i = 0; i< n; i++) {
  4. if(s == null || s.length() <= 0);
  5. }
  6. long endTime = System.currentTimeMillis();
  7. System.out.println("function 2 use time: "+ (endTime - startTime) +"ms");
  8. }

方法三:

  1. public void function3(String str , int n) {
  2. long startTime = System.currentTimeMillis();
  3. for(long i = 0; i <n; i++) {
  4. if(s == null || s.isEmpty());
  5. }
  6. long endTime = System.currentTimeMillis();
  7. System.out.println("function 3 use time: "+ (endTime - startTime) +"ms");
  8. }

Java中判断String不为空的问题性能比较的更多相关文章

  1. Java中判断String对象是否为空的方法

    Java原生的方法: String对象中有一个isEmpty的方法判断是否为空,其实isEmpty完全等同于string.length()==0,注意如果String本身是null,那么使用strin ...

  2. Java中判断对象是否为空的方法

    首先来看一下工具StringUtils的判断方法:    一种是org.apache.commons.lang3包下的:    另一种是org.springframework.util包下的.这两种S ...

  3. java中判断list是否为空的用法

    1.如果想判断list是否为空,可以这么判断: if(null == list || list.size() ==0 ){ //为空的情况 }else{ //不为空的情况 } 2.list.isEmp ...

  4. Java 中判断字符串是否为空

    public class TestString { public static void main(String[] args) { String abc = null; //先判断是否为null再判 ...

  5. Java中判断数组是否为空

    一维数组// 一维数组: int[] arrayif(array == null || array.length == 0)    return true; 二维数组//二维数组: int[][] a ...

  6. (转)Java 中关于String的空对象(null) ,空值(empty),空格

    原文出处:Java 中关于String的空对象(null) ,空值(empty),空格 定义 空对象: String s = null; 空对象是指定义一个对象s,但是没有给该对象分配空间,即没有实例 ...

  7. java中对对象进行判空的操作--简洁编码

    java中对对象进行判空的操作 首先来看一下工具StringUtils的判断方法: 一种是org.apache.commons.lang3包下的: 另一种是org.springframework.ut ...

  8. java中判断一个字符串是否“都为数字”和“是否包含数字”和“截取数字”

    在javascript中有一个方法isDigit()使用来判断一个字符串是否都是数字,在java的字符串处理方法中没有这样的方法,觉得常常需要用到,于是上网搜了一下,整理出了两个用正则表达式匹配的判断 ...

  9. Java中的String与常量池[转帖]

    string是java中的字符串.String类是不可变的,对String类的任何改变,都是返回一个新的String类对象.下面介绍java中的String与常量池. 1. 首先String不属于8种 ...

随机推荐

  1. redis配置文件redis.conf翻译、解释以及常用注意事项(持续更新中...)

    # Redis configuration file example. #Redis 配置文件的示例 #如何利用配置文件启动Redis # Note that in order to read the ...

  2. selenium 操作文本框(textarea输入)

    selenium 对文本框的输入操作一般有两种形式,传统的是直接通过定位元素通过sendKeys()方法直接在文本框中输入信息.但有时候我们可以通过id 的方式将其进行定位,但却不能通过sendKey ...

  3. 使用before_request来做权限和用户检查

    因为使用restful方式,因此每次用户访问都会上传带入auth_key,如jwt等,因此可在@app.before_request中做权限的检查. @app.app.before_request d ...

  4. 阿里云对象存储 OSS,不使用主账号,使用子账号来访问存储内容

    https://help.aliyun.com/document_detail/31932.html?spm=5176.doc31929.2.5.R7sEzr 这个示例从一个没有任何Bucket的阿里 ...

  5. AndroidStudio3.0以上版本的坑

    原文:https://blog.csdn.net/ytfunnysite/article/details/78864556 1.Error:Failed to resolve: com.android ...

  6. docker 获取容器id

    docker ps -aqf 'name=pypaltform2018_v1_trust_pro'

  7. Chrome浏览器被hao123劫持,浏览器主页会被篡改为 hao123等

    先放一个知乎帖子: https://www.zhihu.com/question/21883209 我就只放几个有效解决办法了,具体的可以看上边那个帖子 方案一:     删掉桌面上的chrome图标 ...

  8. sonarQube代码管理工具

    第一步:安装环境:jdk 1.8   idea  mysql5.6以上  sonarqube5.6.6 第二歩:下载好sonarqube后,解压打开bin目录,启动相应OS目录下的StartSonar ...

  9. JavaWeb快速入门

    孙卫琴老师的javaweb一书已经买了很多年,由于很厚一直也没有去好好阅读下, 项目发布后有闲暇时间,决定快速学习了,毕竟很多概念和知识主要还是复习. 对于互联网,我们可以简单认为浏览器就是会人类语言 ...

  10. 用js来实现那些数据结构及算法—目录

    首先,有一点要声明,下面所有文章的所有内容的代码,都不是我一个人独立完成的,它们来自于一本叫做<学习JavaScript数据结构和算法>(第二版),人民邮电出版社出版的这本书.github ...