在使用LinkedList方法时如何避免SonarQube的主要问题?

时间:2014-10-17 13:27:03

标签: java sonarqube

我想知道如何避免SonarQube问题:

  

声明应该使用Java集合接口,例如" List"   而不是特定的实现类,如" LinkedList"

当我想在代码中使用LinkedList的特定方法时:

LinkedList<String> items = new LinkedList<String>();
//add someitems
String elem = items.removeFirst();

我找到的唯一解决方案是更改队列,但我还需要使用接口方法:

Queue<String> items = new LinkedList<String>();
//add someitems
String elem = items.poll();

我也可以在使用此方法之前转换对象。还有其他解决方案吗?

1 个答案:

答案 0 :(得分:2)

在这种情况下,建议使用定义此方法的接口,如LinkedList的JavaDoc中所指定:removeFirst来自接口Deque并且这是您应该使用的接口,而不是直接使用该实现。