易截截图软件、单文件、免安装、纯绿色、仅160KB

判断 Java 中的空字符串


以下是 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();
}
}


相关文档:

java入门

 Java学习从入门到精通 
一、 JDK (Java Development Kit) 
JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的J ......

华为Java笔试题

一、 单项选择题
  1.Java是从( )语言改进重新设计。
  A.Ada B.C++ C.Pasacal D.BASIC
  答案:B
  
  2.下列语句哪一个正确( )
  A. Java程序经编译后会产生machine code
  B. Java程序经编译后会产生byte code
  C. Java程序经编译后会产生DLL
  D. 以上都不正确
  答案:B ......

JAVA学习笔记②

1 编译命令
  javac [options] filename.java
  options->
  -classpath path 编译时需要的类路径
  -d directory 设定编译生成的.class文件输入到哪一个目录。
  关于-d小技巧 : 如果.java文件中使用了package语句, 例如 package com.test.maths; 加上-     d . 选项会帮助在当前目 ......

Java实现ftp功能(源程序)

import sun.net.ftp.*;
import sun.net.*;
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.io.*;
public class FtpApplet extends Applet
{
FtpClient aftp;
DataOutputStream outputs ;
TelnetInputStream ins;
TelnetOutputStream outs;
TextArea lsArea;
La ......

Java中的线程

在Java中,“线程”指两件不同的事情:
1、java.lang.Thread类的一个实例;
2、线程的执行。
使用java.lang.Thread类或者java.lang.Runnable接口编写代码来定义、实例化和启动新线程。
一个Thread类实例只是一个对象,像Java中的任何其他对象一样,具有变量和方法,生死于堆上。
Java中,每个线程都有一个调 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号