1

30 日のミリ秒数を計算するコードを 1 行書きたいと思います。

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

ただし、intをlongに割り当てているため、機能しないよだれで。だから私はこのようなことができると思った。

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;

これを簡単にする方法はありますか。

4

1 に答える 1

0

私にとっては、これらの 4 つのサンプルはすべて機能します (そして、頼らなければならなかったものよりもクリーンです)。1 つまたは多くが機能しない場合は、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;
于 2012-08-20T20:29:44.457 に答える