Avoids entire classes of errors such as null pointer exceptions.
Kotlin is designed with interoperability in mind. Existing code can be called from Kotlin in a natural way, and vise versa rather smoothly as well.
Any Java IDE or building from the command line are applicable.
Share your business logic between mobile, desktop, backend, frontend and even embedded systems.