带有长字符串的Java JUnit assertEquals

带有长字符串的Java JUnit assertEquals,java,junit,long-integer,Java,Junit,Long Integer,我试图检查两个长的数字,但当我试图编译这个我得到 assertEquals( new Long(42681241600) , new Long(42681241600) ); 错误。文档显示有一个很长很长的assertEquals方法,但它没有被调用。您想要: integer number too large: 42681241600 您的代码正在调用assertEquals(对象,对象)。您还需要在数字的末尾添加“L”字符,以告诉Java编译器该数字应该编译为长而不是

我试图检查两个长的数字,但当我试图编译这个我得到

    assertEquals( new Long(42681241600) , new Long(42681241600) );
错误。文档显示有一个很长很长的assertEquals方法,但它没有被调用。

您想要:

    integer number too large: 42681241600   

您的代码正在调用assertEquals(对象,对象)。您还需要在数字的末尾添加“L”字符,以告诉Java编译器该数字应该编译为长而不是整数。

42681241600被解释为
int
文本,它太大而无法编辑。附加一个“L”使其成为
long
literal

如果您想了解所有技术信息,可以查阅:

如果整数文字以ASCII字母
L
L
作为后缀,则其类型为
long
;否则它的类型为
int
。首选后缀
L
,因为字母
L
(ell)通常很难与数字
1
(一)区分

在您的号码末尾添加一个“L”,如:

assertEquals(42681241600L, 42681241600L);

爪哇中,每一个字数都被视为一个整数。

你也应该普遍考虑使用Lo.ValueOf,因为这可能允许一些优化:

new Long(42681241600L)
从:

公共静态长期价值(长期l)

返回一个长实例,表示 指定的长值。如果一个新的 不需要长实例,这是必需的 方法通常应用于 构造函数的首选项 Long(Long),因为这种方法很可能 产生明显更好的空间 通过缓存提高性能和时间性能 经常请求的值

Long val = Long.valueOf(1234L);