What makes you lazy about Java

Then stick with Java. If I had a free choice (which you hardly ever have as a consultant) I would only implement in Kotlin. The data classes ensure that you don't have to tie things like Lombok to your leg (which is quite often only used to save on gettering and setters). ExtensionFunctions usually make the annoying util classes with static methods superfluous. Default values ​​for method parameters ensure that when new parameters are introduced, the old method no longer has to be overloaded for compatibility. NPE makes the distinction between nullable and non-nullable types visible at runtime.

Anyone who deals a little with Kotlin will not be able to start with all the differences, but anyone who does not discover at least 1-2 advantages over Java and can use them for themselves is blind.

Did I mention extended collections (via extension functions), smart casts and safe calls? Here is a one-liner for the nth Fibonacci number, which combines several advantages (writing functions as expressions, ranges, stream operations without stream and "pair" as the standard auxiliary class):

fun fibonacci (factor: Int) = (1..factor) .fold (Pair (0,1), {x, y -> Pair (x.second, x.first + x.second)}) .first

Yes, you can write that recursively or iteratively in Java, but Kotlin is much more elegant. I also can't really see the high learning and conversion effort, but many a long-time JAVA developer is simply not "established", but simply too lazy to learn something new.