我以这种格式"\/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对象是否包含{{1并将其设置为“ - ”,但我仍然得到此异常。
更新
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.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):at java.lang.Long.parseLong(Long.java:319)
我将null和空字符串文字检查更改为此,但我仍然收到此错误。
null or ""
答案 0 :(得分:6)
使用String#equals
比较字符串值; ==
运算符比较对象引用是否相等。
if (target == null || target.equals("")) {
您在测试==
时正确使用null
,因为您确保target
引用不是null
。
答案 1 :(得分:0)
作为检查String是否为空或“”的快捷方式,您也可以使用
StringUtils.isEmpty(target)
答案 2 :(得分:0)
Thread.sleep