最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java判斷字符串String是否為空問題淺析

 更新時(shí)間:2014年01月17日 16:21:21   作者:  
這篇文章主要介紹了java判斷字符串String是否為空問題,有需要的朋友可以參考一下

一、判斷一個(gè)字符串str不為空的方法有:

1、str == null;
2、"".equals(str);
3、str.length <= 0;
4、str.isEmpty();
注意:length是屬性,一般集合類對象擁有的屬性,取得集合的大小。
            例如:數(shù)組.length就是取得數(shù)組的長度。
          length()是方法,一般字符串類對象有該方法,也是取得字符串長度。
            例如:字符串.length();
說明:
  1、null表示這個(gè)字符串不指向任何的東西,如果這時(shí)候你調(diào)用它的方法,那么就會出現(xiàn)空指針異常。
  2、""表示它指向一個(gè)長度為0的字符串,這時(shí)候調(diào)用它的方法是安全的。
  3.、null不是對象,""是對象,所以null沒有分配空間,""分配了空間,例如:
    String str1 = null; str引用為空
    String str2 = ""; str引用一個(gè)空串
    str1還不是一個(gè)實(shí)例化的對象,而str2已經(jīng)實(shí)例化。
    對象用equals比較,null用等號比較。
    如果str1=null;下面的寫法錯(cuò)誤:
       if(str1.equals("")||str1==null){ }
   正確的寫法是 if(str1==null||str1.equals("")){ //所以在判斷字符串是否為空時(shí),先判斷是不是對象,如果是,再判斷是不是空字符串 }
  4. 所以,判斷一個(gè)字符串是否為空,首先就要確保他不是null,然后再判斷他的長度。
     String str = xxx;
     if(str != null && str.length() != 0) { }

二、以下是java 判斷字符串是否為空的四種方法:

四種方法執(zhí)行的效率分別如下:

JudgeString1耗時(shí):625ms
JudgeString2耗時(shí):125ms
JudgeString3耗時(shí):234ms
JudgeString4耗時(shí):109ms

復(fù)制代碼 代碼如下:

/**
 * Created with IntelliJ IDEA.
 * User: Administrator
 * Date: 14-1-16
 * Time: 上午10:43
 * 判斷字符串是否為空的效率問題
 */
public class JudgeStringIsEmptyOrNot {
    public static void main(String[] args) {
        JudgeString1("w_basketboy", 10000);
        JudgeString2("w_basketboy", 10000);
        JudgeString3("w_basketboy", 10000);
        JudgeString4("w_basketboy", 10000);
    }

    /**
     * 方法一: 最多人使用的一個(gè)方法, 直觀, 方便, 但效率很低;
     * 方法二: 比較字符串長度, 效率高, 是最好的一個(gè)方法;
     * 方法三: Java SE 6.0 才開始提供的方法, 效率和方法二幾乎相等, 但出于兼容性考慮, 推薦使用方法二;
     * 方法四: 這是一種比較直觀,簡便的方法,而且效率也非常的高,與方法二、三的效率差不多;
     */
    public static void JudgeString1(String str, long num) {
        long startTiem = System.currentTimeMillis();
        for (int i = 0; i < num; i++) {
            for (int j = 0; j < num; j++) {
                if (str == null || "".equals(str)) {

                }
            }
        }
        long endTime = System.currentTimeMillis();
        System.out.println("function1耗時(shí):" + (endTime - startTiem) + "ms");
    }

    public static void JudgeString2(String str, long num) {
        long startTiem = System.currentTimeMillis();
        for (int i = 0; i < num; i++) {
            for (int j = 0; j < num; j++) {
                if (str == null || str.length() <= 0) {

                }
            }
        }
        long endTime = System.currentTimeMillis();
        System.out.println("function4耗時(shí):" + (endTime - startTiem) + "ms");
    }

    public static void JudgeString3(String str, long num) {
        long startTiem = System.currentTimeMillis();
        for (int i = 0; i < num; i++) {
            for (int j = 0; j < num; j++) {
                if (str == null || str.isEmpty()) {

                }
            }
        }
        long endTime = System.currentTimeMillis();
        System.out.println("function3耗時(shí):" + (endTime - startTiem) + "ms");
    }

    public static void JudgeString4(String str, long num) {
        long startTiem = System.currentTimeMillis();
        for (int i = 0; i < num; i++) {
            for (int j = 0; j < num; j++) {
                if (str == null || str == "") {

                }
            }
        }
        long endTime = System.currentTimeMillis();
        System.out.println("function4耗時(shí):" + (endTime - startTiem) + "ms");
    }
}

相關(guān)文章

  • java7 新I/O知識點(diǎn)詳解

    java7 新I/O知識點(diǎn)詳解

    在本篇文章里小編給大家整理的是關(guān)于java7 新I/O知識點(diǎn)詳解,有需要的朋友們可以學(xué)習(xí)下。
    2019-11-11
  • Java之打印String對象的地址

    Java之打印String對象的地址

    這篇文章主要介紹了Java之打印String對象的地址,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Java 使用openoffice進(jìn)行word轉(zhuǎn)換為pdf的方法步驟

    Java 使用openoffice進(jìn)行word轉(zhuǎn)換為pdf的方法步驟

    這篇文章主要介紹了Java 使用openoffice進(jìn)行word轉(zhuǎn)換為pdf的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Java描述數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí)之鏈表的增刪改查詳解

    Java描述數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí)之鏈表的增刪改查詳解

    這篇文章主要給大家介紹了關(guān)于Java描述數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí)之鏈表的增刪改查的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-05-05
  • Spring?Boot?配置文件類型properties?格式與yml?格式

    Spring?Boot?配置文件類型properties?格式與yml?格式

    這篇文章主要介紹了Spring?Boot?配置文件類型properties?格式與yml?格式,文章圍繞主題展開詳細(xì)內(nèi)容,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-05-05
  • springmvc+maven搭建web項(xiàng)目

    springmvc+maven搭建web項(xiàng)目

    這篇文章主要為大家詳細(xì)介紹了springmvc+maven搭建web項(xiàng)目的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • Java通俗易懂系列設(shè)計(jì)模式之代理模式

    Java通俗易懂系列設(shè)計(jì)模式之代理模式

    這篇文章主要介紹了Java通俗易懂系列設(shè)計(jì)模式之代理模式,對設(shè)計(jì)模式感興趣的同學(xué),一定要看下
    2021-04-04
  • 一篇文章帶你初步認(rèn)識Maven

    一篇文章帶你初步認(rèn)識Maven

    這篇文章主要為大家初步認(rèn)識了Maven,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • Java正則表達(dá)式之全量匹配和部分匹配

    Java正則表達(dá)式之全量匹配和部分匹配

    正則表達(dá)式異常強(qiáng)大,一直理解不深,用的也不深,這次項(xiàng)目中嘗試,體會到了它的強(qiáng)大之處,這篇文章主要給大家介紹了關(guān)于Java正則表達(dá)式之全量匹配和部分匹配的相關(guān)資料,需要的朋友可以參考下
    2023-06-06
  • SpringBoot中的@Configuration注解詳解

    SpringBoot中的@Configuration注解詳解

    這篇文章主要介紹了SpringBoot中的@Configuration注解詳解,Spring Boot推薦使用JAVA配置來完全代替XML 配置,JAVA配置就是通過 @Configuration和 @Bean兩個(gè)注解實(shí)現(xiàn)的,需要的朋友可以參考下
    2023-08-08

最新評論

淮阳县| 桃园市| 中江县| 清苑县| 清苑县| 无锡市| 东乌珠穆沁旗| 东阳市| 长岭县| 和平区| 阳谷县| 徐州市| 蓝山县| 莆田市| 基隆市| 基隆市| 三门县| 怀来县| 兴文县| 塔城市| 昂仁县| 永嘉县| 砚山县| 临洮县| 浮梁县| 德阳市| 沐川县| 阿克陶县| 洛阳市| 萝北县| 田东县| 保亭| 特克斯县| 曲靖市| 揭西县| 平谷区| 四子王旗| 长春市| 藁城市| 西乡县| 崇义县|