最近在学习cookie在研究上次访问时间的时候遇到一个问题:
为什么写成这样就会报错:
Cookie cookie= new Cookie("LastAccessTime", System.currentTimeMillis());
而这样就是正确的:
Cookie cookie= new Cookie("LastAccessTime", System.currentTimeMillis()+"");
我查看了一下API上面Cookie 的 constructor 是这样的:
Cookie(java.lang.String name, java.lang.String value)
那是不是意味着+"" 就是把System.currentTimeMillis()的结果原本是long类型的变成了String类型的。这其中的原理是什么啊??
------解决思路----------------------
任何基本类型遇到string类型(包括空string)作+运算都会自动转为string类型,如1+2+""+3+4 结果为"334"