Cra*_*uin 2 java null encapsulation
如果我有一个类,我想接受一个可选的记录器来记录调试信息:
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" ) ;
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法让我避免需要进行常量空值检查?
public void hello() {
if( logger != null ) {
logger.debug( "hello" ) ;
}
}
public void goodbye() {
if( logger != null ) {
logger.warn( "goodbye" ) ;
}
}
Run Code Online (Sandbox Code Playgroud)
我想也许如果我做了一个记录器包装类,可以为我做检查,然后不做任何事,或记录消息.但是我需要包装我想要使用的每个方法.
| 归档时间: |
|
| 查看次数: |
2075 次 |
| 最近记录: |