程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> java斷定字符串String能否為空成績淺析

java斷定字符串String能否為空成績淺析

編輯:關於JAVA

java斷定字符串String能否為空成績淺析。本站提示廣大學習愛好者:(java斷定字符串String能否為空成績淺析)文章只能為提供參考,不一定能成為您想要的結果。以下是java斷定字符串String能否為空成績淺析正文


1、斷定一個字符串str不為空的辦法有:

1、str == null;
2、"".equals(str);
3、str.length <= 0;
4、str.isEmpty();
留意:length是屬性,普通聚集類對象具有的屬性,獲得聚集的年夜小。
            例如:數組.length就是獲得數組的長度。
          length()是辦法,普通字符串類對象有該辦法,也是獲得字符串長度。
            例如:字符串.length();
解釋:
  1、null表現這個字符串不指向任何的器械,假如這時候候你挪用它的辦法,那末就會湧現空指針異常。
  2、""表現它指向一個長度為0的字符串,這時候候挪用它的辦法是平安的。
  3.、null不是對象,""是對象,所以null沒有分派空間,""分派了空間,例如:
    String str1 = null; str援用為空
    String str2 = ""; str援用一個空串
    str1還不是一個實例化的對象,而str2曾經實例化。
    對象用equals比擬,null用等號比擬。
    假如str1=null;上面的寫法毛病:
       if(str1.equals("")||str1==null){ }
   准確的寫法是 if(str1==null||str1.equals("")){ //所以在斷定字符串能否為空時,先斷定是否是對象,假如是,再斷定是否是空字符串 }
  4. 所以,斷定一個字符串能否為空,起首就要確保他不是null,然後再斷定他的長度。
     String str = xxx;
     if(str != null && str.length() != 0) { }

2、以下是java 斷定字符串能否為空的四種辦法:

四種辦法履行的效力分離以下:

JudgeString1耗時:625ms
JudgeString2耗時:125ms
JudgeString3耗時:234ms
JudgeString4耗時:109ms


/**
 * 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);
    }

    /**
     * 辦法一: 最多人應用的一個辦法, 直不雅, 便利, 但效力很低;
     * 辦法二: 比擬字符串長度, 效力高, 是最好的一個辦法;
     * 辦法三: Java SE 6.0 才開端供給的辦法, 效力和辦法二簡直相等, 但出於兼容性斟酌, 推舉應用辦法二;
     * 辦法四: 這是一種比擬直不雅,輕便的辦法,並且效力也異常的高,與辦法2、三的效力差不多;
     */
    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耗時:" + (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耗時:" + (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耗時:" + (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耗時:" + (endTime - startTiem) + "ms");
    }
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved