Not really. Only if you have default constructor aka add default values to all arguments, in this case Kotlin will generate default constructor and Gson will use it to create an object instead of java.misc.Unsafe that bypass constructor invocation (including default value initialization)