0

Findbugs 对以下代码段发出警告。似乎是一个简单的Builder类,可以在最后添加项目和构造。这里有什么问题?

public static Set<Entity> convert(@NonNull final String id,
        @NonNull final Collection<SomeEntity> list) {

        Builder<Entity> builder = new ImmutableSet.Builder<>();
        final Entity entityOfType1 = createEntity(..);        
  //    Bug type RV_RETURN_VALUE_IGNORED 
        builder.add(entityOfType1);


        final Set<Entity> entitiesOfType2 = createEntity(..);
 //     Bug type RV_RETURN_VALUE_IGNORED 
        builder.addAll(entitiesOfType2);

        final Set<Entity> entitiesOfType3 = createEntity(..);
 //     Bug type RV_RETURN_VALUE_IGNORED 
        builder.addAll(entitiesOfType3);

        return builder.build();
    }

4

1 回答 1

0

你的代码没问题,是 FindBugs 问题。

如果你切换到SpotBugs,它是“FindBugs 的精神继承者,在社区的支持下从它停止的点继续”,你就会修复它。Guava 自 23.6 以来 “从 jsr305 迁移@CheckReturnValue@GuardedBy@OverridingMethodsMustInvokeSuper出错的等价物”,2018 年在PR#538中添加了对 SpotBugs 的支持。

于 2021-01-28T18:04:37.953 回答