I have to write this code in lazy initialization "static class holder idiom singleton" pattern
public class DateComparator{
private static DateComparator instance = null;
public static DateComparator getInstance()
{
if(instance == null)
instance = new DateComparator();
return instance;
}
}
This is my changed code:
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;
}
No need for the container
variable or createInstance()
:
public class DateComparator{
private static class DateComparatorHolder {
private static final DateComparator instance= new DateComparator();
}
public static DateComparator getInstance()
{
return DateComparatorHolder.instance;
}
}
That's all.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.