Java SonarQube:“仅有条件地调用方法” 让我们考虑一个第三方库中的一个类状态,它按照以下方式实现了ToSoin方法:-< /P> public class Status<T> extends AttemptStatus<T> { public String toString() { StringBuilder sb = new StringBuilder("Status{"); sb.append("id=").append(this.id); sb.append(", startTime=").append(this.startTime); sb.append(", endTime=").append(this.endTime); ..... } }
所以,如果我从上面的句子中删除toString,那么编译器将按照以下方式进行投诉:-Java SonarQube:“仅有条件地调用方法” 让我们考虑一个第三方库中的一个类状态,它按照以下方式实现了ToSoin方法:-< /P> public class Status<T> extends AttemptStatus<T> { public String toString() { StringBuilder sb = new StringBuilder("Status{"); sb.append("id=").append(this.id); sb.append(", startTime=").append(this.startTime); sb.append(", endTime=").append(this.endTime); ..... } },java,logging,sonarqube,Java,Logging,Sonarqube,所以,如果我从上面的句子中删除toString,那么编译器将按照以下方式进行投诉:- public class ABC { private <T> T executeWithRetries(Callable<T> callable, RetryConfig conf) { Status<T> status = new CallExecutorBuilder() .config(conf) .afterF
public class ABC {
private <T> T executeWithRetries(Callable<T> callable, RetryConfig conf) {
Status<T> status = new CallExecutorBuilder()
.config(conf)
.afterFailedTryListener(s -> {
LOGGER.warn("Connection failed. Retrying.");
MetricsUtil.REDIS_RETRIES_METER.mark();
this.redis = createConnection();
})
.build()
.execute(callable);
LOGGER.info(status.toString());
return status.getResult();
}
LOGGER.info(status);
无法解析方法“infocom.evanlennick.retry4j.Status”
是否应将状态变量包装为String.valueOf?但是它不会给我一个在Status类中指定的toString方法输出。有什么解决办法吗?怎么样:
LOGGER.info{},状态 什么是记录器?答案将取决于日志类中有哪些其他方法可用。另外,sonarqube的投诉应该有一个链接,说明它希望您如何编写代码。
LOGGER.info(status);