1

我正在尝试做

Random generator = new Random(1309233053284);

Random存在java.util.Random

它说数字太长了,但为什么可以System.currentTimeMillis()传递给构造函数?它返回更大的数字。

1309233053284是毫秒,如果你想知道的话。

4

3 回答 3

10

你可能有更好的运气:

Random generator = new Random(1309233053284L);

int在 Java 中,除非另有说明,否则所有文字数字都是类型。要将您的号码解释为long,您需要在它后面加上“L”(或者“l”,但这很难与“1”区分开来,因此不太清楚)。

于 2011-06-28T06:55:58.143 回答
3

试试这个

Random generator = new Random(1309233053284l);

您应该将其指定为 long。

如果您调用new Random(1309233053284),它将使用带有参数的构造int函数。当您调用时new Random(System.currentTimeMillis()),它使用构造函数接受一个long参数,因为System.currentTimeMillis()返回一个长整数。要使其工作,您还应该1309233053284通过添加l.

于 2011-06-28T06:55:22.160 回答
0

默认情况下,整数文字是int类型。您需要f为 float、ddouble 和Llong 添加。L首选,l因为后者看起来像1

例如

31 <= 31 as an int
3l <= looks like 31 but is 3 as a long.
31L <= 31 as a long.
311 <= is 311 as an int.
于 2011-06-28T09:15:21.047 回答