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