[英]java.lang.NumberFormatException: Invalid long: “”
我正在以以下格式解析"\\/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
:無效的長整數:“”。我之前在檢查我的String對象是否包含null or ""
並進行設置它改為“-”,但仍然出現此異常。
更新:
04-08 22:59:17.423:E / AndroidRuntime(4175):java.lang.NumberFormatException:無效的長整數:“” 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):at 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(""))
使用String#equals
比較字符串值; ==
運算符比較對象引用是否相等。
if (target == null || target.equals("")) {
測試null
,您正確使用了==
,因為您確保target
引用不為null
。
作為檢查String是否為null或“”的快捷方式,您還可以使用
StringUtils.isEmpty(target)
Use Try and catch
String values=Util.getStringFromSP(getActivity(),"time");
try {
PERIOD_MS = Long.parseLong(values);
} catch (Exception e) {
Log.d("time", "" + values);
if (PERIOD_MS == 0) {
PERIOD_MS = 1000;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.