1. L'horodatage obtenu à partir de la base de données est de type String. Il doit être comparé à l'heure actuelle pour déterminer si la connexion a expiré.
Générez l'heure actuelle de type long, forcez le type String à taper long et signalez un. erreur. Le code est le suivant :
long currentTime = System.currentTimeMillis(); //当前时间
// System.out.println("currentTime" + currentTime);
long expireTime = Long.parseLong(token1.getExpireTime()); //过期时间
// System.out.println("expireTime : " + expireTime);
Le message d'erreur est le suivant :
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. J'ai constaté que l'heure actuelle affichée par la console est erronée
3. Le test est le suivant :
4. Les informations de la base de données sont les suivantes :
couper une fois puis longuement
java.lang.NumberFormatException: For input string: "1496733869286 "
Vous voyez qu'il y a un espace derrière vous.PS. Vous n'appelez pas cela "Type de chaîneconversion forcéeerreur en type long", le concept est faux
For input string: "1496733869286 "
Pourquoi y a-t-il un espace après le numéro ?long i = 1234893584;String s = String.valueOf(i);
tourne comme ça