gpt4 book ai didi

java - 如何避免对对象进行繁琐的空检查

转载 作者:行者123 更新时间:2023-12-04 19:22:23 25 4
gpt4 key购买 nike

如果我有一个类,我想接受一个可选的记录器来记录调试信息:

public class A {

private Logger logger ;

public A( Logger logger ) {
this.logger = logger ;
}

public A() {
this( null ) ;
}

public void hello() {
logger.debug( "hello" ) ;
}

public void goodbye() {
logger.warn( "goodbye" ) ;
}

}

我有什么办法可以避免不断进行 null 检查吗?

public void hello() {

if( logger != null ) {
logger.debug( "hello" ) ;
}

}

public void goodbye() {

if( logger != null ) {
logger.warn( "goodbye" ) ;
}

}

我想也许如果我制作一个记录器包装器类,它可以为我进行检查,然后什么也不做,或者记录消息。但是我需要包装我想使用的每个方法。

最佳答案

我将创建 Logger 作为接口(interface)并实现真正的记录器和一个不记录任何内容的虚拟类。这样,您始终可以访问记录器而无需任何空检查。

关于java - 如何避免对对象进行繁琐的空检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4926855/

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