判断 Java 中的空字符串

原文地址:http://www.neoease.com/string-is-empty/

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

以下代码在我机器上的运行结果: (机器性能不一, 仅供参考)
function 1 use time: 172ms
function 2 use time: 78ms
function 3 use time: 79ms

 

public class CompareStringNothing {String s = "";long n = 10000000;private void function1() {long startTime = System.currentTimeMillis();for(long i = 0; i < n; i++) {if(s == null || s.equals(""));}long endTime = System.currentTimeMillis();System.out.println("function 1 use time: "+ (endTime - startTime) +"ms");}private void function2() {long startTime = System.currentTimeMillis();for(long i = 0; i < n; i++) {if(s == null || s.length() <= 0);}long endTime = System.currentTimeMillis();System.out.println("function 2 use time: "+ (endTime - startTime) +"ms");}private void function3() {long startTime = System.currentTimeMillis();for(long i = 0; i < n; i++) {if(s == null || s.isEmpty());}long endTime = System.currentTimeMillis();System.out.println("function 3 use time: "+ (endTime - startTime) +"ms");}public static void main(String[] args) {CompareStringNothing com = new CompareStringNothing();com.function1();com.function2();com.function3();}
} 

转载于:https://www.cnblogs.com/suman/archive/2010/10/26/1861521.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/435398.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Socket的send函数在执行时报EAGAIN的错误

Socket的send函数在执行时报EAGAIN的错误] 内容提要: 当客户通过Socket提供的send函数发送大的数据包时&#xff0c;就可能返回一个EGGAIN的错误。该错误产生的原因是由于send 函数中的size变量大小超过了tcp_sendspace的值。tcp_sendspace定义了应用在调用send之前能够在k…

写让别人能读懂的代码

随着软件行业的不断发展&#xff0c;历史遗留的程序越来越多&#xff0c;代码的维护成本越来越大&#xff0c;甚至大于开发成本。而新功能的开发又常常依赖于旧代码&#xff0c;阅读旧代码所花费的时间几乎要大于写新功能的代码。 我前几天看了一本书&#xff0c;书中有这么一句…

python中什么是按位取反_Python学习中的“按位取反”笔记总结

|疑惑 最近在学习Python的过程中了解到位运算符&#xff0c;但对于按位取反有点迷糊&#xff0c;就比如说~9&#xff08;按位取反&#xff09;之后的结果是-10&#xff0c;为什么不是6呢&#xff1f;所以下面就来看看为什么不是6&#xff0c;正确结果是如何计算出来的呢&#x…

非阻IO与EWOULDBLOCK EAGAIN

非阻塞读写 默认 socket 是阻塞的&#xff0c;读写函数 read, readv, recv, recvfrom, recvmsg 以及 write, writev, send, sendto, sendmsg 都有可能会阻塞。可以将 socket 描述字设为非阻塞&#xff0c;这样&#xff0c;当 socket 描述字未就绪时&#xff0c;调用以上读写函…

一起学windows phone7开发(二十一.二 Map控件的简单使用)

1. 注册地图&#xff1a; 在使用地图之前必须先申请register key https://www.bingmapsportal.com/ 将申请到的key填到这个属性&#xff0c;地图才可以正常使用。 CredentialsProvider 属性&#xff1a;填写申请到的Register key。 2.设置中心点&#xff1a; <my:Map Height…

UML类图五种关系与代码的对应关系

UML类图中的五种关系的耦合强弱比较&#xff1a;依赖<关联<聚合<组合<继承 一、依赖关系&#xff1a; &#xff08;一&#xff09;说明 虚线箭头 可描述为&#xff1a;Uses a 依赖是类的五种关系中耦合最小的一种关系。 因为在生成代码的时候&#xff0c;这两个关系…

使用 rapidxml 做配置文件

对于配置文件&#xff0c;一般会选用ini,xml 等等的配置格式。如何快速高效的从文件内读取自己想要的信息是每个做配置文件想要达到的效果。对以小型开发我们并不用时用到msxml这种重量级的解析器。那样会给自己添麻烦的。这里我推荐大家使用rapidxml。 之前使用tinyxml 感觉还…

水晶报表实现(一)

WINFORM下创建水晶报表&#xff1a; 1、新建一个“windows应用程序” 2、添加一个数据集&#xff08;.xsd&#xff09;文件&#xff0c;它是ADO.NET数据集&#xff0c;数据集用于在断开缓存中存储数据&#xff0c;它的结构类似于关系数据库的接口&#xff0c;它公开表、行和列的…

Java swing 实现下拉框和文本框同步显示

想要MyEclipse中的swing中实现下拉框和文本框实现&#xff0c;对下拉框创建MouseEvent、ItemEvent、ActionEvent private void xingbieMouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here: setSelectedItem(evt, this.xingbie1); } private v…

python image 转成字节_就是这么流弊!三行Python代码,让数据处理速度提高2到6倍

选自TowardsDataScience作者&#xff1a;George Seif本文转自机器之心(nearhuman2014)本文可以教你仅使用 3 行代码&#xff0c;大大加快数据预处理的速度。Python 是机器学习领域内的首选编程语言&#xff0c;它易于使用&#xff0c;也有很多出色的库来帮助你更快处理数据。但…

LSGO软件技术团队内部技术交流【2015-2016(1)第七周】

LSGO软件技术团队成立于2010年10月&#xff0c;主要从事的应用方向为互联网与移动互联网&#xff08;UI设计&#xff0c;前端开发&#xff0c;后台开发&#xff09;&#xff0c;地理信息系统&#xff1b;研究方向为数据分析与计算机视觉。成立几年来为学校培养了一批优秀学生&a…

汉字区位码对照表

汉字区位码对照表 a-beibei--cancan-chichi-dada-dongdong-feifei-gege-guoha-huanhuan-jiajia-jingjing-kaokao-langlang-linlin-maimai-momo-nunu-pingping-qieqie-rongrou-shenshen-sisong-titi-weiwei-xiaxia-xuxu-yeye-youyou-zaozao-zhizhi-zizong-zuo 附&#xff1a; 0…

有点憋,说两句

还是QQ和360的那点事。 曾经一度&#xff0c;几年前吧&#xff0c;我也很不喜欢腾讯&#xff0c;觉得它仗着自己在国内即时通讯方面的垄断&#xff0c;不好好做产品&#xff0c;尽想着赚钱。总觉得它在想方设法的勾引你用自己的人民币去换成Q币。总觉得用真正的高素质的网民是用…

C语言程序设计(代码+知识点)

本文章包括C语言基本知识点和代码,部分题代码有多种解法,包括作者一开始的想法,代码都为调通可运行程序。 文章包括12章内容,参考书籍《C语言程序设计》,参考视频小甲鱼 可以边学习知识点边看代码,结合学习效率更高 /*#include <stdio.h> void main() {printf(&…

python beautiful soup 标签完全相同_Python爬取Python教程并制作成pdf

欢迎点击右上角关注小编&#xff0c;除了分享技术文章之外还有很多福利&#xff0c;私信学习资料可以领取包括不限于Python实战演练、PDF电子文档、面试集锦、学习资料等。想要把教程变成PDF有三步&#xff1a;1、先生成空html&#xff0c;爬取每一篇教程放进一个新生成的div&a…

LSGO软件技术团队2015~2016学年第八周(1019~1025)总结

LSGO软件技术团队成立于2010年10月&#xff0c;主要从事的应用方向为互联网与移动互联网&#xff08;UI设计&#xff0c;前端开发&#xff0c;后台开发&#xff09;&#xff0c;地理信息系统&#xff1b;研究方向为数据分析与计算机视觉。成立几年来为学校培养了一批优秀学生&a…

vxImmrGet

*PBODR(vxImmrGet()) & 0xfcff; *PBPAR(vxImmrGet()) & 0xfffffcff; *PBDIR(vxImmrGet()) | 0x00000300; vxImmrGet()应该是获取powerpc 的IMMR(Internal Memory Mapped Registers)的值,这个寄存器保存着所有powerpc CPU寄存器所映射的内存基地址&#xff0c;PBODR&a…

ENVI计算公式(一)

<1>大于1的值赋予1&#xff0c;小于0的值赋予0 ((b1 lt 0)*(0)(b1 ge 0)*b1)or((b1 gt 1)*(1)(b1 ge 0)*b1) <2>modis数据计算ndvi b1*0.0001 <3>modis数据计算地表温度&#xff08;单位&#xff1a;摄氏度&#xff09; b1*0.02-273.15 <4>modis数据…

list取数据_Day.5利用Pandas做数据处理(二)

数据合并使用Join()合并&#xff0c;合并的方式是根据行和行进行合并。# 使用join合并&#xff0c;着重关注的是 行的合并import pandas as pd df1pd.DataFrame({Red:[1,3,5],Green:[5,0,3]},indexlist(abc))df2pd.DataFrame({Blue:[1,9,8],Yellow:[6,6,7]},indexlist(cde))pri…

小字节序和大字节序

小字节序&#xff1a;(比如x86体系) 数据的低字节放在低地址处&#xff0c;比如一个整型数0x12345678&#xff0c;在内存中的 分布为&#xff1a; ----------- | 78 | xxxx_0000 ----------- …