Java lang IllegalAccess通过HashBasedTable累加器收集Guava不可变表 [英] Java lang IllegalAccess on collecting Guava Immutable Table via HashBasedTable accumulator
本文介绍了Java lang IllegalAccess通过HashBasedTable累加器收集Guava不可变表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
执行下面的代码时出错,
Error while executing below code,
引起:java.lang.IllegalAccessError:试图访问类
com。 google.common.collect.AbstractTable from class
Caused by: java.lang.IllegalAccessError: tried to access class com.google.common.collect.AbstractTable from class
ImmutableTable.copyOf(listItemsToProcess.parallelStream()
.map(item ->
ProcessorInstanceProvider.getInstance()
.buildImmutableTable(item))
.collect(() -> HashBasedTable.create(),
HashBasedTable::putAll,
HashBasedTable<Integer, String,
Boolean>::putAll)
);
出现错误 - HashBasedTable :: putAll使用Oracle的1.8 jre
Error in coming on - HashBasedTable::putAll Using Oracle's 1.8 jre
推荐答案
有趣的是,我用Lambda表达式替换了方法引用并且它有效。
Interesting, i replaced method references with Lambda expression and it worked.
ImmutableTable.copyOf(itemList.parallelStream()
.map(item ->
ProcessorInstanceProvider.get()
.buildImmutableTable(item))
.collect(() -> HashBasedTable.create(),
(a, b) -> a.putAll(b),
(a, b) -> a.putAll(b))
);
这篇关于Java lang IllegalAccess通过HashBasedTable累加器收集Guava不可变表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文