8

これが私のコードです:

serialNumbers = "";

String[] serialArray = serialNumbers.split(",");

int arrayLength = serialArray.length;

serialArray に値がなくても、arrayLength は 1 を示しています。この場合、長さは 0 を返すはずだと思っていました。

4

5 に答える 5

14

ドキュメントから:

式が入力のどの部分とも一致しない場合、結果の配列には 1 つの要素、つまりこの文字列のみが含まれます。

このドキュメントは、からString.split(String, int)呼び出されるメソッドからのものであることに注意してください。String.split(String)

于 2013-07-15T13:30:36.840 に答える
6

Split は常に少なくとも 1 つの要素を返します。

区切り文字が見つからない場合、入力全体が単一要素の配列で返されます。

于 2013-07-15T13:30:50.220 に答える
1

serialArray[""]1 要素である を含む

于 2013-07-15T13:32:52.923 に答える
0

パブリック クラス TestArgs {

public static void main(String[] args) {
    String checkString = "";

    System.out.println("" + splitString(checkString));



}

public static int splitString(String checkString) {
    if (checkString.indexOf(",") != -1 || !"".equals(checkString)) {
        System.out.println("hello " + checkString.split(",").length);
        return checkString.split(",").length;
    } else {
        return 0;
    }
}

}

于 2013-07-15T14:19:17.587 に答える