带有长字符串的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);