Dra*_*gan 8 java compare long-integer
标题非常明显.我正在从C#转向Java.我有一个对象和一个返回其ID的getter方法.我想比较两个相同类型的对象的ID,并检查它们的id值是否相等.
尝试:
obj.getId() == obj1.getId();
Run Code Online (Sandbox Code Playgroud)
Long id1 = obj.getId();
Long id2 = obj1.getId();
assertTrue(id1.equals(id2))
Run Code Online (Sandbox Code Playgroud)
assertTrue(id1== id2)
Run Code Online (Sandbox Code Playgroud)
Boh*_*ian 22
在java中:
==
运营商告诉你,如果两个操作数是同一个对象(实例). .equals()
方法上Long
告诉你,如果他们的价值相等.但你不应该这样做.正确的方法是:
assertEquals(id1, id2);
Run Code Online (Sandbox Code Playgroud)
有了assertEquals()
,如果断言失败,错误信息会告诉你这两个值分别为,如expected 2, but was 5
等
要比较两个原始 long 您可以简单地使用 ==
例子:
long x = 1L;
long y = 1L;
if (x == y) {
System.out.println("value of x and y are same");
}
Run Code Online (Sandbox Code Playgroud)
要比较两个 Long 对象,可以使用 Long.compare(long x, long y)。这个方法是在java 1.7中添加的。下面是方法的实现:
public static int compare(long x, long y) {
return (x < y) ? -1 : ((x == y) ? 0 : 1);
}
Run Code Online (Sandbox Code Playgroud)
例子:
Long x = new Long(1);
Long y = new Long(1);
if (Long.compare(x,y) == 0) {
System.out.println(values of x and y are same);
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
32254 次 |
最近记录: |