我得到這種格式的DOB字符串"\/Date(588657600000-0400)\/"
我正在解析如下。java.lang.NumberFormatException:無效的長:「」
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
:長期無效 「」 我前檢查,我的String對象是否包含null or ""
和設置它以 「 - 」,但還是我得到這個例外
更新:
04-08 22:59:17.423:E/AndroidRuntime(4175): java.lang.NumberFormatException。 :長無效:「」04-08 22:59:17.423:E/AndroidRuntime(4175):at java.lang.Long.parseLong() Long.java:346)04-08 22:59:17.423: E/AndroidRuntime(4175):在java.lang.Long.parseLong(Long.java:319)
我改變了我的空和空字符串文字檢查到這一點,但我仍然得到這個錯誤。
if(target == null || target.equals(""))
相關:http://stackoverflow.com/q/3321526/139010 – 2013-04-08 22:52:10
我在收到錯誤這點... long millis = Long.parseLong(target.substring(target.indexOf(「(」)+ 1,target.indexOf(「 - 」))); // – theJava 2013-04-08 23:02:38
請考慮一下。 indexOf(「 - 」)return? – Simon 2013-04-08 23:08:31