1.從資料庫裡面得到的時間戳記是String類型的,要與目前時間比較,判斷登陸是否過期
產生一long類型的當前時間,把String類型強制轉換成long類型報錯,程式碼如下:
long currentTime = System.currentTimeMillis(); //当前时间
// System.out.println("currentTime" + currentTime);
long expireTime = Long.parseLong(token1.getExpireTime()); //过期时间
// System.out.println("expireTime : " + expireTime);
錯誤訊息如下:
java.lang.NumberFormatException: For input string: "1496733869286 "
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Long.parseLong(Long.java:589)
at java.lang.Long.parseLong(Long.java:631)
at com.tustcs.matrix.util.Interceptor.preHandle(Interceptor.java:45)
at org.springframework.web.servlet.HandlerExecutionChain.applyPreHandle(HandlerExecutionChain.java:134)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:954)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:968)
2.發現控制台輸出的目前時間不對
3.測試如下:
#4.資料庫資訊如下:
trim一下再轉long
java.lang.NumberFormatException: For input string: "1496733869286 "
你看你後面有一個空格。PS. 你這個也不叫做“String類型強制轉換成long類型報錯”,概念錯誤了
For input string: "1496733869286 "
為什麼數字後面有個空格?long i = 1234893584;String s = String.valueOf(i);
這麼轉