java 代码中
long currentTime = new Date().getTime();
Util.put("KEY_A", currentTime);
Util.java中有重载函数,一个接受Long类型,一个接受float类型,
public static void put(String key,Long value){
Log.d("TEST","putLong("+key+")="+value);
}
public static void put(String key,float value){
Log.d("TEST","putFloat("+key+")="+value);
}
最后的log居然 是
D TEST : currentTime=1629345832325
D TEST : putFloat(KEY_A)=1.62934581E12
long变量居然当成float处理了
把Util.java修改成
public static void put(String key,long value){
Log.d("peggy","putLong("+key+")="+value);
}
即Long改成long
此时运行正常,long变量成功被long形参的重载函数所处理,而不是被float形参的重载函数所处理。
D TEST : currentTime=1629346065071
D TEST : putLong(KEY_A)=1629346065071
结论
1.long和Long原来有时候是不一样的。
2.long原来可以当float用。