说我有两个变量abc和xyz如下:
Untitled abc = Untitled.getInstance();
Untitled xyz = Untitled.getInstance();
如何比较这两个以检查两者是否包含相同的实例?我的意思是我想验证Untitled是否是Singleton类。
答案 0 :(得分:3)
如果我没弄错的话,我想你在这里问两个问题。
要检查abc和xyz是否是相同的实例,只需使用'=='运算符即可。它检查参考相等性。
if (abc == xyz)
{
//true
}
检查对象是否是特定类的实例
if(obj instanceof ClassName)
{
}
答案 1 :(得分:2)
你可以比较两个变量a == b
以查看它们是否引用同一个对象,但它不一定意味着它们是一个单例,指向同一个对象的两个变量如果比较像这样会返回相同的值太
答案 2 :(得分:0)
检查abc和xyz的引用。你会看到相同的结果。
if(abc==xyz)
它会返回true
。
答案 3 :(得分:0)
对于JUnit测试,您可以使用类似这样的东西。
import static org.junit.Assert.assertSame;
assertSame("Objects are not same ",expected, actual);
它会验证(预期==实际)是否存在,并且不会调用equals()方法上的调用。