{ return LocalEnvironment$.MODULE$; }
должно работать.
Редактировать: причина, по которой это работает, заключается в том, что именно так Scala представляет одноэлементные объекты.Класс ObjectName$
имеет поле с именем MODULE$
, которое заполняется единственным допустимым экземпляром этого класса.Но есть также класс с именем ObjectName
, который копирует все методы как статические.Таким образом, вы можете использовать его как Java (просто вызовите ObjectName.methodName
) в большинстве случаев, и Scala получает реальный класс для передачи.
Но когда Java необходимо передать класс - необычно это делается с помощью набора статических методов, и именно это object
предназначено для эмуляции в Java - тогда вы должны знать, как Scala представляет его внутренне.