Java int = 1转换为long = 2

时间:2014-09-01 12:49:26

标签: java junit

我正在编写JUnit测试,我有一个这样的行多次使用

Assert.assertEquals("Size of list is incorrect", 1, list.size());

在某些地方,这行很好但是Java转换失败了。

方法签名是

  

void org.junit.Assert.assertEquals(String message,long expected,long   实际)

在某些时候它会失败,因为list.size()int=1但过去assertEquals(String message, long expected, long actual)就是long=2并且断言失败。

使用像Integer.valueOf()Long.valueOf这样的显式转换解决了这个问题,但为什么JVM正在改变第60行的值(而第30行则是有效的)?

1 个答案:

答案 0 :(得分:1)

在与队友进行一些调试之后,似乎eclipse在某些时候失败了,反编译了这个类,代码使用了之前复制/粘贴的其他变量。

相关问题