2016-02-02 8 views
3

Я пытаюсь вызвать следующую функцию Котлин из JavaКотлин не может получить доступ к kotlin.jvm.functions.Function1 при вызове функции Котлин с Java лямбда

override fun First(list: LinqList<ElementType>, condition: (ElementType) -> Boolean) : ElementType 

как этот

int first = list.First(list,(x) -> x == 5); 

, но я получаю следующая ошибка

Error java: cannot access kotlin.jvm.functions.Function1 
    class file for kotlin.jvm.functions.Function1 not found 

Я попытался это, но прибегая к помощи я не могу найти ответ в любом

Заранее спасибо

+2

Прежде всего, функция, которую вы определили, не имеет то же имя, что и тот, который вы вызываете (First vs FirstOrDefault). –

+0

Как вы компилируете свой проект Java? – yole

+0

Использование gradle и IntelliJ 15 и я исправил опечатку –

ответ

0

Проблема была устранена путем обновления до кандидата на выпуск 1.0.

-3

Метод 1) Поиск Function1 в файле проекта и переименовать его в первую очередь.

Способ 2) Найдите Function1 в файле проекта и удалите все его вхождения.

+0

Прошу прощения, это не поможет. Класс 'Function1' является частью стандартной библиотеки Kotlin, поэтому ни одно из ваших предложений не применимо. – yole

+0

Это не проблема –

Смежные вопросы