【发布时间】:2014-12-04 06:56:58
【问题描述】:
我有两种选择:
第一:单例设计模式
public class A{
private static A instance;
private A(){};
public A getDefault(){
if(instance == null)
instance = new A();
return instance;
}
//cst
public static final String cst = "sample";
}
这样,我们就可以通过A.getDefault().cst访问cst
第二:类的引用
public class B{
public static final String cst = "sample";
}
这样,我们就可以通过B.cst 访问cst,很简单。
考虑到性能(对我来说常量是编号并具有图像类型)的最佳方式是什么?
【问题讨论】:
-
嗯,第二个版本?
-
性能甚至不是一个考虑因素。您似乎没有考虑到 JIT...此外,您的单例代码不是线程安全的。
-
在第一个解决方案中,我们需要一个实例,但在第二个解决方案中不需要,不是吗? @fge
-
@HoussemBdr,就目前而言,在第一种情况下您也不需要实例,因为该字段也是公共静态的。