比较包含Singleton实例的两个变量

时间:2013-02-27 06:20:46

标签: java

说我有两个变量abc和xyz如下:

Untitled abc = Untitled.getInstance();
Untitled xyz = Untitled.getInstance();

如何比较这两个以检查两者是否包含相同的实例?我的意思是我想验证Untitled是否是Singleton类。

4 个答案:

答案 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()方法上的调用。