我正在使用GATK,这是一个用于生物信息学的 java 工具。它在后台使用 org.reflections.Reflections 来加载一些插件。
我的插件已编译但在类路径中时没有被 GATK 找到/加载,并且类似的工具可以正常工作。通过删除部分代码,我将问题缩小到导致我的问题的以下行(请参阅filter):
(...)
ctx.getAlleles().stream().filter(T->!(T.isSymbolic() || T.isNoCall())).mapToInt(new ToIntFunction<Allele>() {
public int applyAsInt(Allele value) {return value.length();};
});
(...)
如果我将上面的行更改为:
(...)
ctx.getAlleles().stream().mapToInt(new ToIntFunction<Allele>() {
public int applyAsInt(Allele value) {return value.length();};
});
(...)
如果该行是,它也会被加载:
final Predicate<Allele> afilter = new Predicate<Allele>() {
@Override
public boolean test(Allele a) {
return !(a.isNoCall() || a.isSymbolic());
}
};
ctx.getAlleles().stream().filter(afilter).mapToInt(new ToIntFunction<Allele>() {
public int applyAsInt(Allele value) {return value.length();};
});
为什么 ?