在java.util.Arrays$ArrayList类的层次结构中没有匹配名称流的方法



所以我使用java 8,并试图用PowerMock和Mockito编写一些测试。我收到一个MethodNotFoundException,消息是:

No methods matching the name(s) stream were found in the class hierarchy of class java.util.Arrays$ArrayList.

我仔细检查了ArrayList文档,它肯定看起来像从集合继承了stream。这是一个问题与PowerMockito还是我错过了什么?

问题行

PowerMockito.when(thing.call("services", "things")).thenReturn(Arrays.asList("testService")); // Doesn't matter if it's new ArrayList<String>()));

然后有这样的东西在上面

services.stream().filter( x -> //filter).collect(Collectors.toList())

EDIT:经过进一步研究,这似乎是一个PowerMock问题。

这似乎是PowerMock 1.5.5中的一个错误,已经在1.5.6中解决了

参考:https://github.com/jayway/powermock/issues/536

java.util.Arrays$ArrayListArrays.asList()返回的java.util.Arrays的内部类,与java.util.ArrayList不同。

如果找不到stream()方法,可能是因为java.util.Arrays$ArrayList是私有的?

相关内容

  • 没有找到相关文章

最新更新