[英]How to write static class holder idiom singleton
我必須以惰性初始化“靜態類持有人慣用語單例”模式編寫此代碼
public class DateComparator{
private static DateComparator instance = null;
public static DateComparator getInstance()
{
if(instance == null)
instance = new DateComparator();
return instance;
}
}
這是我更改的代碼:
public class DateComparator{
private static DateComparator container = null;
private static class DateComparatorHolder {
private static DateComparator instance=createInstance();
}
private static DateComparator createInstance() {
if(container == null)
//container = new DateComparator();
return new DateComparator();
}
public static DateComparator getInstance()
{
return DateComparatorHolder.instance;
}
不需要container
變量或createInstance()
:
public class DateComparator{
private static class DateComparatorHolder {
private static final DateComparator instance= new DateComparator();
}
public static DateComparator getInstance()
{
return DateComparatorHolder.instance;
}
}
就這樣。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.