我的代码(AggregateFunctions)中只有一个地方实例化了一个对象,如下所示。
private String selectColumns() {
String query = "SELECT ";
if (this.distinctResults) {
query = query + "DISTINCT ";
}
SelectColumn selectColumn = new SelectColumn(this);
if (!this.applyAggregation) {
for (Object object : this.columns) {
query = selectColumn.selectColumn(query, object);
}
} else {
AggregateFunctions aggregateFunctions = new AggregateFunctions(this);
query = query + aggregateFunctions.select();
}
//Remove extra ', '
query = query.substring(0, query.length() - 2) + " FROM ";
return query;
}
构造函数:
public AggregateFunctions(@NotNull SqlQueryGenerator sqlQueryGenerator) {
this.spaceEncloser = sqlQueryGenerator.getSpaceEncloser();
this.selectColumn = new SelectColumn(sqlQueryGenerator);
JSONObject formData = sqlQueryGenerator.getFormData();
this.columns = formData.getJSONArray("columns");
this.aggregateJson = formData.getJSONObject("functions").getJSONArray("aggregate");
this.aggregatesList = new ArrayList<Aggregate>();
prepareAggregates();
this.query = new StringBuilder();
}
public SelectColumn(SqlQueryGenerator sqlQueryGenerator) {
this.sqlQueryGenerator = sqlQueryGenerator;
}
但是 IntelliJ 代码分析对递归调用说了以下内容。基本上没看懂意思。任何人都可以详细说明以帮助我理解吗?
问题概要
Constructor has usage(s) but they all belong to recursive calls chain that has no members reachable from entry points.
问题解决
- 安全删除
- 注释掉
- 添加为入口点
最佳答案
这是来自 Unused declaration 检查的警告。 IntelliJ IDEA 认为构造函数无法从任何入口点访问。然而,构造函数并非未使用,但用法本身是无法访问的。
如果您的代码不是这种情况,则可能是 IntelliJ IDEA 中的错误。
关于java - 下面的代码分析是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30116219/