0

"\/Date(588657600000-0400)\/"以下のように解析しているこの形式の DOB 文字列を取得しています。

String target = custom.getDOB();
if (target == null || target == "") {
    holder.item3.setText("-");
} else {
    long millis = Long.parseLong(target.substring(
                 target.indexOf("(") + 1, target.indexOf("-")));
    java.text.DateFormat df = new SimpleDateFormat("MM-dd-yyyy", Locale.ENGLISH);
    holder.item3.setText(df.format(new Date(millis)));
}

このエラーが発生しています "04-08 22:44:09.864: E/AndroidRuntime(3837): java.lang.NumberFormatException: Invalid long: "" . String オブジェクトに含まれているかどうかを前にチェックしnull or ""て、「-」に設定していますが、それでもこの例外が発生しています。

アップデート:

04-08 22:59:17.423: E/AndroidRuntime(4175): java.lang.NumberFormatException: 無効な long: "" 04-08 22:59:17.423: E/AndroidRuntime(4175): java.lang.Long で。 invalidLong(Long.java:125) 04-08 22:59:17.423: E/AndroidRuntime(4175): java.lang.Long.parseLong(Long.java:346) 04-08 22:59:17.423: E/ AndroidRuntime (4175): java.lang.Long.parseLong (Long.java:319) で

null と空文字列のリテラル チェックをこれに変更しましたが、それでもこのエラーが発生します。

if(target == null || target.equals(""))
4

3 に答える 3

0

String が null または "" であるかどうかを確認するためのショートカットとして、使用することもできます

StringUtils.isEmpty(target)

于 2013-04-08T22:56:38.017 に答える