簡體   English   中英

如何編寫靜態類持有人成語單例

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM