以下是我的代码片段。
private String makeDayCode(String unlockCode, String code) {
// TODO Auto-generated method stub
int intUnlockCode = 0;
int[] newDateArray = new int[8];
Log.v (LOG_TAG, "tick ");
SimpleDateFormat s = new SimpleDateFormat("yyyyMMdd");
String dateTime = s.format(new Date());
Log.v (LOG_TAG, "tick 2:"+ dateTime + ".");
Log.v (LOG_TAG, "tick 3:"+Integer.valueOf(dateTime)+".");
int intDate = Integer.valueOf(dateTime);
Log.v (LOG_TAG, "tick 3.1" + Integer.parseInt(unlockCode) + ".");
以下内容来自我的logcat,在Log msgs中显示dateTime的值。
02-23 21:03:57.415: V/dbtest(15552): tick 2:20130223.
02-23 21:03:57.415: V/dbtest(15552): tick 3:20130223.
我遇到的问题是我收到以下错误消息:
java.lang.NumberFormatException: Invalid int: ""
导致我的代码在Log with tick 3.1之前失败 - 将我的问题缩小到行:
int intDate = Integer.valueOf(dateTime);
从研究开始,似乎由于某种原因,dateTime没有从String转换为int。我认为因为它不是一个字符串,或者没有价值。但是,勾选2和勾号3上的对数表示dateTime的值为20130223。
有人可以解释为什么我会得到这个例外吗?
Mucho提前感谢