【问题标题】:Sonarqube complaining about unused variable in for loop [duplicate]Sonarqube 抱怨 for 循环中未使用的变量 [重复]
【发布时间】:2021-02-12 19:08:25
【问题描述】:

在我的项目中,我有一个简单的函数来计算可迭代的长度(因为我认为没有简单的方法可以得到它?不接受 .size().length()?)这是代码:

public int getIterableSize(Iterable<User> users){
        int size = 0;

        for(User user : users){
            size++;
        }

        return size;
    }

我还使用 Sonarqube 来保持我的代码质量,我得到以下关于此函数的代码气味:

删除这个未使用的“用户”局部变量。

一定有一种简单的方法可以摆脱这种情况,对吧?也许是 for 循环的替代方案,也许是 iterable 提供的不同功能?

【问题讨论】:

  • 你的函数可以这样返回。 return users.stream().count();
  • @PandeyAmit iterable 似乎没有 stream() 的功能
  • users是哪种类型?
  • @EldarB。这是一个可迭代的
  • 这能回答你的问题吗? Get size of an Iterable in Java

标签: java for-loop sonarqube iterable unused-variables


【解决方案1】:

您可以使用@SuppressWarnings("unused")对其进行注释。

任一方法:

@SuppressWarnings("unused")
public int getIterableSize(Iterable<User> users){
    int size = 0;

    for(User user : users){
        size++;
    }

    return size;
}

或者变量:

public int getIterableSize(Iterable<User> users){
    int size = 0;

    for(@SuppressWarnings("unused") User user : users){
        size++;
    }

    return size;
}

各种 IDE 可以自动提供这两个修复。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-05
    • 2020-08-18
    • 2013-06-24
    相关资源
    最近更新 更多