Java lang IllegalAccess通过HashBasedTable累加器收集Guava不可变表 [英] Java lang IllegalAccess on collecting Guava Immutable Table via HashBasedTable accumulator

查看:98
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆