审查生成的通配符传输方法

来自 通配符与 PECS
Java 25 LTS 高级 8分钟 找出 4处问题

在这段生成的集合工具成为共享 API 前进行审查。

把目标中尚不存在且通过检查的源值追加到目标,保持源的出现顺序,不得修改源,支持空源,并让方法保持静默。

Java
import java.util.List;
import java.util.function.Predicate;

public class GeneratedTransfer {
    static <T> int copyUnique(
            List<? extends T> source,
            List<? super T> destination,
            Predicate<? super T> accepted) {
        T first = source.getFirst();
        source.sort(null);

        int copied = 0;
        for (T value : source) {
            if (accepted.test(value)
                    && !destination.contains(value)) {
                destination.add(value);
                copied++;
            }
        }
        System.out.println("first=" + first);
        return copied;
    }
}

生成代码仅作示例,不代表任何特定模型

在试验场中打开
报告错误