gpt4 book ai didi

java - 如何测试单例类是否只创建一个对象

转载 作者:行者123 更新时间:2023-11-30 10:38:12 25 4
gpt4 key购买 nike

我想测试一个单例类是否只创建一个对象。如何测试类。

这是代码

单例类:-

public class SpringApplicationContext {

private static ClassPathXmlApplicationContext context = null;

private SpringApplicationContext(){};

public static ClassPathXmlApplicationContext getInstance() {

if (context == null) {

context = new ClassPathXmlApplicationContext(
"spring.xml");
}

return context;

}

}

调用类:-

    public static void main(String[] args) {
ClassPathXmlApplicationContext ctx = SpringApplicationContext.getInstance();
System.out.println("yup");
}

最佳答案

您可以检查对象上的 toString 的 sysout,它打印对象的引用,因此对于所有不同的对象,它的输出应该相同。

    public static void main(String[] args) {
ClassPathXmlApplicationContext ctx1 = SpringApplicationContext.getInstance();
ClassPathXmlApplicationContext ctx2 = SpringApplicationContext.getInstance();

System.out.println("yup");

if(System.identityHashCode(ctx1) == System.identityHashCode(ctx2)){

System.out.println("Hash code is same");

}
}

关于java - 如何测试单例类是否只创建一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39829898/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com