Проблемы совместимости при замене универсальных коллекций гуавой - PullRequest
0 голосов
/ 16 мая 2019

Я пытаюсь обновиться из общих коллекций до гуавы. Внутри класса у меня есть следующая структура.

public NetViewerVertexShapeFactory(Integer size) {
    this(Functions.constant(size), Functions.constant(1.0F));
    /*this(new ConstantTransformer(size), new ConstantTransformer(1.0F));*/
    this.size = size;
}

public NetViewerVertexShapeFactory(Function<NetViewerNode, Integer> vsf, Function<NetViewerNode, Float> varf) {
    this.vsf = vsf;
    this.varf = varf;
}

Как кто-то очень плохо знакомый с Java и этим кодом, я пытаюсь перейти к документации библиотек. В соответствии с этим вторая строка и строка, закомментированная ниже, должны быть эквивалентными, возвращая функцию, которая обеспечивает только данную константу. Тем не мение, NetBeans выдает мне сообщение об ошибке, когда функция, заданная Functions.constant, не соответствует требуемому ниже типу функции, который я абсолютно понимаю, но почему она отличается от ConstantTransformer? Как я могу решить это?

1 Ответ

0 голосов
/ 16 мая 2019

Если вы используете Java 8, использовать лямбды намного проще (и проще). Итак:

this(unused -> size, unused -> 1.0F);
...