我正在尝试通过Java 6的Guava v20使用Google的Guava缓存。我有一个类似的问题,如Guava cache generics error
所述我不需要将高速缓存作为地图获取,但是仍然,我的编译因泛型问题而失败。
代码:
private static final LoadingCache<String, Object> cache = CacheBuilder.newBuilder()
.maximumSize(1000)
.expireAfterWrite(1, TimeUnit.DAYS)
.build(
new CacheLoader<String, Object>() {
@Override
public Object load(String key) throws SystemException, RemoteException {
return null;
}
}
);
编译错误:
incompatible types; no instance(s) of type variable(s) K1 exist so that com.google.common.cache.Cache<K1,java.lang.Object> conforms to com.google.common.cache.LoadingCache<java.lang.String,java.lang.Object>
found : <K1>com.google.common.cache.Cache<K1,java.lang.Object>
required: com.google.common.cache.LoadingCache<java.lang.String,java.lang.Object>
.build(
^
请问您知道问题可能在哪里吗?谢谢。
编辑 建议后出现新的错误消息:
found : com.google.common.cache.Cache<java.lang.String,java.lang.Object>
required: com.google.common.cache.LoadingCache<java.lang.String,java.lang.Object>
.<String, Object>build(
^