小编Lee*_*ijk的帖子

冗余空检查

以下代码:

  public void test()
  {
    @Nullable T first = null;
    Graph<T> cycleG = new Graph<>();
    ArrayList<Graph<T>> segments = GraphFactory.makeSegments(this, cycleG);
    Graph<T> seg = segments.get(0);
    for (T v : cycleG.vertices)
    {
      if (seg.hasVertex(v))
      {
        if (first == null) // redundant null check here
        {
          first = v;
        }
      }
    }
    assert first != null;
  }
Run Code Online (Sandbox Code Playgroud)

在指示的行给我一个“冗余null检查”警告。“ T”是类型参数,类定义为

public class Graph<T extends Comparable<T>> implements IGraph
Run Code Online (Sandbox Code Playgroud)

这是错误吗?一个已知的?还是我忽略了某些东西。有什么避免的技巧吗?

注意:此代码没有意义,只是重现问题的一小部分。在循环后使用“ first”不会删除警告。

这是Java 8,Eclipse Luna 4.4.1。

java eclipse

3
推荐指数
1
解决办法
2746
查看次数

标签 统计

eclipse ×1

java ×1