Меньше ошибок с null в новом коде, более богатая стандартная библиотека, выразительный язык. Нас больше интересовали подводные камни. Спорить о том какой язык лучше или хуже - можно очень долго)
Уже ответили аналогично. Переводили на котлин по частям. Когда наткнулись на эту особенность работы с Lombok - скорректировали порядок перевода, чтобы мухи отдельно, слоны отдельно
Насчет набора костылей - как мне кажется, сама идея очень красивая, но пару раз видел, как их начинали использовать не по назначению и код становился просто нечитаем. Поэтому как и любая другая синтаксическая конструкция - она может использоваться как на пользу так и на вред.
У нас же цель не только написать код, но и то, чтобы он был легко читаем)
Насчёт первого вопроса — он хорошо рассмотрен в статье https://habr.com/ru/post/347752/, но в целом вы правы — проблема уйдет, но нужно не забыть добавить aspectj как annotation processor (рабочий пример можно посмотреть https://habr.com/ru/post/347752/ ).
Насчёт второго вопроса — пока ничего нет, да и навряд ли будет))
Спасибо большое, что заметили. Исправил, сейчас все должно работать
Спасибо. Пропустил эту возможность. Согласен, что она так же удобная как Kotlin-шаблоны
Не совсем. В этом случае всегда будет вызываться q.toString(). Если, например, есть логирование entity - это может вызвать запрос в базу.
Когда используем библиотеку
message.toString() вызывается только если здесь соответствующий уровень логирования
Меньше ошибок с null в новом коде, более богатая стандартная библиотека, выразительный язык. Нас больше интересовали подводные камни. Спорить о том какой язык лучше или хуже - можно очень долго)
Уже ответили аналогично. Переводили на котлин по частям. Когда наткнулись на эту особенность работы с Lombok - скорректировали порядок перевода, чтобы мухи отдельно, слоны отдельно
Спасибо, пропустил!.
Насчет набора костылей - как мне кажется, сама идея очень красивая, но пару раз видел, как их начинали использовать не по назначению и код становился просто нечитаем. Поэтому как и любая другая синтаксическая конструкция - она может использоваться как на пользу так и на вред.
У нас же цель не только написать код, но и то, чтобы он был легко читаем)
Речь идет про class файл байткода. Для вложенных классов генерятся файлы виды Main$Inner.class
Each class file contains the definition of a single class or interface
Согласен, спасибо, поправил
Насчёт первого вопроса — он хорошо рассмотрен в статье https://habr.com/ru/post/347752/, но в целом вы правы — проблема уйдет, но нужно не забыть добавить aspectj как annotation processor (рабочий пример можно посмотреть https://habr.com/ru/post/347752/ ).
Насчёт второго вопроса — пока ничего нет, да и навряд ли будет))