다음과 같이 구문 분석하는 "\/Date(588657600000-0400)\/"
형식의 DOB 문자열을 가져옵니다.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) : 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는)
if(target == null || target.equals(""))
관련 : http://stackoverflow.com/q/3321526/139010 –
난에서 오류가 발생하고 이 점 ... long millis = Long.parseLong (target.substring (target.indexOf ("(") + 1, target.indexOf ("-"))) // – theJava
대상에 대해 생각해보십시오. – Simon