如何在流口水中倍增多头

时间:2012-08-20 19:51:04

标签: java drools

我想写一行代码来计算30天内的毫秒数。

long gracePeriod = 30/*days*/ * 24 * 60 * 60 * 1000;

然而,在流口水中不会起作用,因为它正在为长期分配一个int。所以我想我可以做这样的事情。

long gracePeriod = 30l/*days*/ * 24l * 60l * 60l * 1000l;

但是,这也行不通,所以我不得不做一些愚蠢的事情:

long grace1 = 30;
long grace2 = 24;
long grace3 = 60;
long grace4 = 1000;
long grace = grace1 * grace2 * grace3 * grace3 * grace4;

有没有办法让这更简单。

1 个答案:

答案 0 :(得分:0)

对我来说,这些样本中的所有4个都可以工作(并且比你必须使用的更清洁)。如果一个或多个不适合您,则可能是您的IDE或Java环境存在问题。如果是这样,请告诉我们您正在运行的Java版本和环境。

public class TempProject
{

    public static void main(String args[])
    {
        long gracePeriod = 30l /*days*/ * 24l * 60l * 60l * 1000l;
        long gracePeriod2 = 30l /*days*/ * 24 * 60 * 60 * 1000;
        long gracePeriod3 = ((long)30) /*days*/ * 24  * 60  * 60  * 1000;
        long gracePeriod4 = ((long) 30)/*days*/ * ((long) 24) * ((long) 60) * ((long) 60) * ((long) 1000);

        System.out.println(gracePeriod);
        System.out.println(gracePeriod2);
        System.out.println(gracePeriod3);
        System.out.println(gracePeriod4);
    }

}

当然最简单的方法是硬编码;)

long gracePeriod = 2592000000l;