正如标题所说,我有一个Logger对象 logger ,在类 classname 中 classname 的定义包含一个vararg String v 。如果 v 确实存在,则应将 logger 命名为,否则它应具有默认值。我该怎么做?我的代码:
final Logger logger=null;
if(globalLogger!=null){
logger.getLogger(globalLogger);
}
else{
logger.getLogger(ImportThread.class.getName());
}
返回:应以静态方式访问静态方法getLogger(String)。 这可能吗?如果没有,我该怎么办呢?
答案 0 :(得分:0)
您应该指定您正在使用的Logger类。从当前信息来看,Logger logger
变量应该是静态的
static final Logger logger=null;
请注意其余代码,但这至少应该修复“应该以静态方式访问”问题
答案 1 :(得分:0)
静态访问它意味着您将其称为类的方法:
Logger logger=null;
if(globalLogger!=null){
logger = Logger.getLogger(globalLogger);
} else{
logger = Logger.getLogger(ImportThread.class.getName());
}
在您的代码中,您没有使用Logger.getLogger()
返回的内容,而是更改了作业;使用此代码,您无法将其设为最终,因为您无法重新分配最终变量。