0

値を読み込んでいる BlackBerry アプリケーションを開発しましたHEX String。返される値は次のとおりです。

String result =  response.toString();

結果は次のとおりです。 ["AC36C71DF3CB315A35BFE49A17F483B6","CF5B717ACC460E3C4545BE709E9BCB83","E1EE334738CA4FA14620639DD6750DC3","DD40E2822539C2184B652D1FC3D2B4E6","6AF4B1EAC8D8210D64A944BFD487B9F2"]

これらは次のメソッドに渡されsplit、値が分離されます。方法は次のとおりです。

private static String[] split(String original, String separator) {
            Vector nodes = new Vector();
            int index = original.indexOf(separator);
            while (index >= 0) {
                nodes.addElement(original.substring(0, index));
                original = original.substring(index + separator.length());
                index = original.indexOf(separator);
            }
            nodes.addElement(original);
            String[] result = new String[nodes.size()];
            if (nodes.size() > 0) {
                for (int loop = 0; loop < nodes.size(); loop++) {
                    result[loop] = (String) nodes.elementAt(loop);
                    System.out.println(result[loop]);
                }
            }
            return result;
       }

上記の配列はString original、メソッドのように渡されます。この部分は正常に動作しています。ただし、単一の値が as として渡されるとString original、つまり["6AF4B1EAC8D8210D64A944BFD487B9F2"]、エラーが発生します。

Detail formatter error:java.util.Arrays cannot be resolved to a type.

助けてください !!!上に掲載された値は、括弧[]と引用符を含めて読み取ったとおりの正確な値です""

4

2 に答える 2

0

Blackberry ライブラリは、 Java SE ではなくJava MEに基づいています。Java ME では、実行時のフットプリントを削減するために、Arrays クラスなどのいくつかのクラスが削除されています。

Blackberry JDE java.util パッケージを見てください。Arrays クラスがないことがわかります。そのため、コードでは Arrays クラスからのメソッドを使用できません。回避策を見つけるか、自分で機能を実装する必要があります。

于 2013-09-23T09:06:07.447 に答える
0

この分割方法を試してください -

 public static String[] split(String strString, String strDelimiter) {
    String[] strArray;
    int iOccurrences = 0;
    int iIndexOfInnerString = 0;
    int iIndexOfDelimiter = 0;
    int iCounter = 0;

    //Check for null input strings.
    if (strString == null) {
        throw new IllegalArgumentException("Input string cannot be null.");
    }
    //Check for null or empty delimiter strings.
    if (strDelimiter.length() <= 0 || strDelimiter == null) {
        throw new IllegalArgumentException("Delimeter cannot be null or empty.");
    }
    if (strString.startsWith(strDelimiter)) {
        strString = strString.substring(strDelimiter.length());
    }
    if (!strString.endsWith(strDelimiter)) {
        strString += strDelimiter;
    }
    while((iIndexOfDelimiter = strString.indexOf(strDelimiter,
           iIndexOfInnerString)) != -1) {
        iOccurrences += 1;
        iIndexOfInnerString = iIndexOfDelimiter +
            strDelimiter.length();
    }

    strArray = new String[iOccurrences];
    iIndexOfInnerString = 0;
    iIndexOfDelimiter = 0;
    while((iIndexOfDelimiter = strString.indexOf(strDelimiter,
           iIndexOfInnerString)) != -1) {

        strArray[iCounter] = strString.substring(iIndexOfInnerString,iIndexOfDelimiter);
        iIndexOfInnerString = iIndexOfDelimiter +
        strDelimiter.length();
        iCounter += 1;
    }

    return strArray;
}
于 2013-09-24T03:16:58.230 に答える