gpt4 book ai didi

java - 空对象模式 - public static final

转载 作者:行者123 更新时间:2023-12-01 13:46:34 26 4
gpt4 key购买 nike

我在上个月的某个时候看到了空对象模式的实现,它看起来像是类型上的单例字段。但我不太记得这种方法了。我正在研究模式,并有意识地不恰本地实现它们。

我认为应该如下,但我可以对此进行评论吗?

public final class SearchCriteriaAnomalyFilter {

public static final SearchCriteriaAnomalyFilter NULL_INSTANCE;

private final T2AnomalyStatus status;
private final T2AnomalyType type;
private final boolean limitMaxOneAnomaly;

public SearchCriteriaAnomalyFilter(T2AnomalyStatus status, T2AnomalyType type,
boolean limitMaxOneAnomaly){
this.status = status;
this.type = type;
this.limitMaxOneAnomaly = Boolean.valueOf(limitMaxOneAnomaly);
}

private SearchCriteriaAnomalyFilter(){}

public static SearchCriteriaAnomalyFilter instanceOfNullObject(){
if (NULL_INSTANCE == null) {
NULL_INSTANCE = new SearchCriteriaAnomalyFilter();
}
return NULL_INSTANCE;
}

...
}

最佳答案

public static final SearchCriteriaAnomalyFilter NULL_INSTANCE = new SearchCriteriaAnomalyFilter(); 
public static SearchCriteriaAnomalyFilter instanceOfNullObject(){
return NULL_INSTANCE;
}

你的其余代码看起来不错。

使用上述构造的原因是不需要延迟初始化:空对象不会更改,也不需要任何特殊构造(因为您使用私有(private)构造函数正确实现了)。

关于java - 空对象模式 - public static final,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20328004/

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