java - 下面的代码分析是什么意思?

标签 java intellij-idea code-analysis

我的代码(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.   

问题解决

  1. 安全删除
  2. 注释掉
  3. 添加为入口点

最佳答案

这是来自 Unused declaration 检查的警告。 IntelliJ IDEA 认为构造函数无法从任何入口点访问。然而,构造函数并非未使用,但用法本身是无法访问的。

如果您的代码不是这种情况,则可能是 IntelliJ IDEA 中的错误。

关于java - 下面的代码分析是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30116219/

相关文章:

java - 如何通过角色声明来验证用户身份?

python - 如何在 intellij python-project 中为 Django 设置源文件夹? (Python 插件)

java - 在Intellij IDEA中提取多个字符串到常量

java - 如何仅运行修改后的测试?

c# - 在构造函数中访问已实现的抽象属性会导致 CA2214 : Do not call overridable methods in constructors

c# - 使用 ref - 良好的编程实践与否

java - 时区未显示

java - Spring Integration - 队列 channel +服务激活器轮询器耗尽线程池

java - 执行 "su"导致的内存泄漏

c# - 在 Visual Studio 之外查看代码覆盖率结果