java.util.list как параметр в методе класса scala для использования в коде Java

1

Я пытаюсь сделать что-то подобное в scala:

class SessionObject {
 def setParameter(parameterOne : String): Unit = {
 //Doing some stuff
 }
 def getResult(javaListParameter: java.util.List[String]): JsonObject = {
 //doing some stuff
 }
}

Как только я скомпилирую код scala, я пытаюсь использовать его в Java в качестве библиотеки. Что-то вроде этого:

SessionObject object = new SessionObject();
object.setParameter("Something");
List<String> theList = new ArrayList<String>();
object.getResult(theList);

Тем не менее, я не могу увидеть/получить доступ к методу getResult в Java. Является ли это ограничением scala или я что-то упускаю?

Благодарю!

РЕДАКТИРОВАТЬ:

Я пробовал это решение, но, похоже, не работает. Любой метод, который использует java.util.List как параметр или как результат, не может использоваться в Java-коде.

Забыл упомянуть информацию о компиляторе. Я использую maven-scala-plugin версии 2.15.2 с версией scala версии 2.10.3

РЕДАКТИРОВАТЬ:

Хорошо, как предложил wingedsubmariner, я проигнорировал предварительные компиляции намеков IDE и скомпилировал их в любом случае. Теперь я получаю следующее:

method com.*.*.*.*.SessionObject.getResult(java.lang.String,scala.collection.immutable.List<java.lang.String>,java.lang.String,scala.collection.immutable.List<java.lang.String>) is not applicable
      (actual argument java.util.List<java.lang.String> cannot be converted to scala.collection.immutable.List<java.lang.String> by method invocation conversion)
    method com.*.*.*.*.SessionObject.getResult(java.lang.String,java.util.ArrayList<java.lang.String>,java.lang.String,java.util.ArrayList<java.lang.String>) is not applicable
      (actual argument java.util.List<java.lang.String> cannot be converted to java.util.ArrayList<java.lang.String> by method invocation conversion)

Это, по-видимому, говорит мне, что каким-то образом игнорируется определение параметра java.util.List.

  • 1
    Какую ошибку вы получаете? Что вы подразумеваете под "я не могу увидеть / получить доступ к методу" getResult "в Java"?
  • 0
    нет ошибки, это просто не доступный / используемый метод, что означает, что я могу использовать 'setParameter ("что-то") ", но я не могу использовать getResult (не найден метод / символ). Это все равно что пытаться использовать метод, который не был определен. Спасибо за интерес.
Показать ещё 7 комментариев
Теги:

1 ответ

0
Лучший ответ

Кажется, это была проблема IDE. Я исследовал другой подход благодаря wingedsubmariner. Я использую Netbeans 8.0, используя доступный плагин Scala. Когда я использую коллекции Java в качестве параметров или возвращаемых типов, среда IDE не распознает эти методы, то есть они не отображаются в подсказках кода, и они помечены как не определены. Я могу скомпилировать код, игнорируя эти предупреждения кода, и работает, как ожидалось.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню