gpt4 book ai didi

java - 如何在Scala中使用JCache?我收到编译器类型错误 : found String required K

转载 作者:行者123 更新时间:2023-11-30 01:39:05 24 4
gpt4 key购买 nike

我正在学习Scala并尝试在 Scala 代码中使用 javax.cache 但找不到解决此问题的方法:

val cacheFactory = CacheManager.getInstance.getCacheFactory
val map = new HashMap
val cache = cacheFactory.createCache(map)

def rawSet(key:String, value:Array[Byte]) {
cache.put(key, value)
}

编译器错误是:

error: type mismatch
found: String
required: K
in cache.put(key, value)

编辑:
正如丹尼尔所说,我应该在问题中提到我已经结束了应用程序引擎,因为这似乎非常相关。在这种情况下,解决方案是在 Java 中创建一个小类来执行此特定代码,并从 Scala 中调用它。

最佳答案

尝试:

val cache: Cache[_, AnyRef] = cacheFactory.getCache(new HashMap[String, AnyRef])

甚至缓存[_, _]。您可能必须使用类似这样的方法来放置值:

cache.asInstanceOf[HashMap[String,AnyRef]].put(key, value)

我很确定有一种方法可以在不使用 asInstanceOf 的情况下使用完整的存在语法 (Cache[T, AnyRef] forSome { type T }) ,但我不记得如何(或找到解释它的网站:)。

关于java - 如何在Scala中使用JCache?我收到编译器类型错误 : found String required K,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1657494/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com