Проект Ломбок хорошо работает со Scala? - PullRequest
7 голосов
/ 08 декабря 2011

Если бы я хотел, чтобы мой проект Scala был «совместим» с Java, то есть чтобы было практично вызывать API Scala из кода Java (так, чтобы программисты, не являющиеся Scala, также могли вносить свой вклад), было бы возможно использовать Project Lombok в коде Java? Или двое из них не ладят?

Я буду разрабатывать в Eclipse с Scala IDE.

РЕДАКТИРОВАТЬ: Я действительно имел в виду: будет ли редактор Scala в Eclipse видеть код, сгенерированный Lombok, или просто код Java, который я действительно набрал?

Ответы [ 2 ]

11 голосов
/ 08 декабря 2011

Я не уверен, что вы спрашиваете, поскольку Scala и Java взаимодействуют на уровне байт-кода, не имеет значения, откуда байт-код. Поэтому я считаю, что ваш Java-код, использующий аннотацию Lombok, все еще может быть вызван из программы Scala.

И если вы спрашиваете, можно ли использовать эти аннотации, которые предоставляет Lombok, в коде Scala, я не вижу смысла, потому что большинство этих функций предоставлено Scala itsef.

Например, класс с @Data может быть case class в Scala.

case class Data(name: String, value: Int)

И вы можете получить к нему доступ в коде Java, как обычный класс.

Data d1 = new Data("someData", 1);  // Using constructor
Data d2 = Data.apply("someData", 1); // Or using factory

И Data будет иметь все чудесные toString, equals, hashcode .... и т. Д.

10 голосов
/ 20 декабря 2011

Часть редактора Scala будет «видеть» сгенерированный код очень хорошо.

Большая часть того, что делает lombok, следует той или иной спецификации, так же, как scala.Отклонение lombok - это canEqual и соответствует реализациям, что, кстати, является точным тем же, что scala генерирует для классов дел IIRC, так что даже это совместимо:)

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Я основной участникпроектировать ломбок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...