如何将静态导入方法与forEach一起使用



有没有一种方法可以用静态导入的方法作为参数来调用Iterable#forEach?我通过键入函数的完全限定名称而不导入它来实现这一点:

Arrays.asList(line).forEach(org.junit.Assert::assertNotNull);

另一种变体是:

import org.junit.Assert;
...
Arrays.asList(line).forEach(Assert::assertNotNull);

这样做的原因是,我想在单元测试中line中的每个元素都assertNotNull,但我不喜欢使用完全限定的名称。如果只使用,那就太好了

import static org.junit.Assert.assertNotNull;
...
Arrays.asList(line).forEach(assertNotNull);

否。要做到这一点,您必须恢复到经典的lambda表示法:

Arrays.asList(line).forEach(e-> assertNotNull(e));

相关内容

  • 没有找到相关文章

最新更新