
In this post I will share my findings on Kotlin and show you how to build small Android calculator app using this new language.īut first lets talk about any questions or doubts that could developer have to start using Kotlin. So there are no more excuses to make for not learning it.

This is new programming language from JetBrains which has been announced as official Android development language during Google I/O 2017 event. In Kotlin, the type system distinguishes between references that can hold null (nullable references) and those that cannot (non-null references).One of the biggest news of Android world in 2017 definitely became Kotlin. Other issues caused by external Java code. For example, a piece of Java code might add null into a Kotlin MutableList, therefore requiring a MutableList for working with it. Nullability issues with generic types being used for Java interoperation. Usage of the !! operator that is described below.ĭata inconsistency with regard to initialization, such as when:Īn uninitialized this available in a constructor is passed and used somewhere (a "leaking this").Ī superclass constructor calls an open member whose implementation in the derived class uses an uninitialized state.Īttempts to access a member of a null reference of a platform type

The only possible causes of an NPE in Kotlin are:Īn explicit call to throw NullPointerException(). In Java this would be the equivalent of a NullPointerException, or an NPE for short. One of the most common pitfalls in many programming languages, including Java, is that accessing a member of a null reference will result in a null reference exception. Kotlin's type system is aimed at eliminating the danger of null references, also known as The Billion Dollar Mistake. Null safety Nullable types and non-null types
