Switching from Java to Kotlin: the most common mistake
In this article, we’ll discuss a common mistake beginners make when switching from Java to Kotlin for the first time. Feel free to share your experience in the comments.
I often notice that people who have recently switched from Java to Kotlin become fascinated by its idiomaticity and start using it where they shouldn’t. For example:
What’s wrong here?
- It’s unclear what the function returns.
- It’s not obvious that the return value is nullable.
- Without a hint, it’s unclear what the “let” applies to.
- Large nesting depth.
There is also a logical error here, that has been made due to the difficulty of perceiving this construction — there is no check that “tags” is not empty.
You don’t need StringUtils either, Kotlin has isBlank() for strings.
How can you fix it?
- Explicitly specify the return type.
- Rewrite top-level logic in an imperative style.
Share in the comments what mistakes you faced when switching from Java to Kotlin for the first time.