конвертируются назад и вперед полностью прозрачно. Можете ли вы привести конкретный пример, где это становится "хитрым"?

ользую Google Guava из кода Scala. И проблема возникает, когда я пытаюсь использовать Int в качестве типа ключа, как в примере:

CacheBuilder.newBuilder()
    .maximumSize(2)
    .expireAfterWrite(24, TimeUnit.HOURS)
    .build(
      new CacheLoader[Int, String] {
        def load(path: Int): String = {
          path + "hello"
        }
      }
    )

Вроде бы все нормально, но предполагаемый тип создаваемого объектаLoadingCache [Int with AnyRef, String]:

  val cache: LoadingCache[Int with AnyRef, String] = CacheBuilder.newBuilder()
        .maximumSize(2)
        .expireAfterWrite(24, TimeUnit.HOURS)
        .build(
          new CacheLoader[Int, String] {
            def load(path: Int): String = {
              path + "hello"
            }
          }
        )

И ошибка возникает, когда я пытаюсь получить элемент, как в этом примере:

cache.get(1)

Ошибка компилятора Scala:

[ERROR] error: type mismatch;
[INFO]  found   : Int(1)
[INFO]  required: Int
[INFO]   cache.get(1)
[INFO]             ^

Может кто-нибудь указать мне, почему появляется такая ошибка и что я делаю неправильно?

ENV:

Google Guava 15.0Scala 2.11.5

Ответы на вопрос(1)

Ваш ответ на вопрос