日期:2014-05-20  浏览次数:20692 次

高手留步
int t = time(null) c++
请问换成JAVA代码应该怎样写 

我 int startTime=(int)(System.currentTimeMillis()/1000)

好像有误 

大家给个意见

------解决方案--------------------
java的System.currentTimeMillis()时间是long型的

你为什么要转成int呢

错误应该没有吧,就是有一个提示数据丢失吧。
------解决方案--------------------
像你这样错是不会的,因为进行了强制类型的转换,会造成数据的丢失而已
------解决方案--------------------
1楼正解
------解决方案--------------------
探讨
像你这样错是不会的,因为进行了强制类型的转换,会造成数据的丢失而已

------解决方案--------------------
你这句没错误,强制类型转换,将long型强制转换成int型,但由于精度丢失,结果可能不能如你所愿,但语法上是没错误的
------解决方案--------------------
up
------解决方案--------------------
没错
LZ还是这样写吧
long startTime=System.currentTimeMillis()/1000;
------解决方案--------------------

------解决方案--------------------
肯定是类型转换的问题,Java中的类型机制很严谨,向下转型(大范围转小范围肯定要报错的)。
再来,Java中的把原有的long类型转换为int类型时候,如果数值较小还不会有什么问题,如果数值超过了int类型的话,就会出现错误数值(一般是一个负数,尤其是时间的转换)。
请使用long类型的变量就可以了。
------解决方案--------------------
探讨
你这句没错误,强制类型转换,将long型强制转换成int型,但由于精度丢失,结果可能不能如你所愿,但语法上是没错误的

------解决方案--------------------
探讨
肯定是类型转换的问题,Java中的类型机制很严谨,向下转型(大范围转小范围肯定要报错的)。
再来,Java中的把原有的long类型转换为int类型时候,如果数值较小还不会有什么问题,如果数值超过了int类型的话,就会出现错误数值(一般是一个负数,尤其是时间的转换)。
请使用long类型的变量就可以了。

------解决方案--------------------
学习学习!