¿Puede un object de class creado "sobre la marcha" en Kotlin tener un constructor?

Creo un object como este en Kotlin y lo paso a mi método:

val myObject = object { @SerializedName("fieldOne") val fieldOne = myFieldOne @SerializedName("fieldTwo") val fieldTwo = myFieldTwo @SerializedName("fieldThree") val fieldThree = myFieldThree } dbManager.save(myObject) // this works fine 

Sin embargo, Android Studio se queja y dice:

Propiedad '' fieldOne '' nunca se usa

Sé que podría eliminar esta advertencia a través de las opciones de pelusa, pero me gustaría encontrar una forma "nativa" de deshacerme de esta advertencia.

El uso de tu object se hace con reflections. La class real tiene un constructor definido que tiene el parámetro myFieldOne en myFieldThree .

Por la cordura de su código, debería considerar usar una class de datos en su lugar. Kotlin como Java está tipado estáticamente, que debe aprovechar al máximo. El siguiente paso sería deshacerse de cualquier reflection que no necesite hacer.

No sé a qué te refieres con "forma nativa de deshacerte de él", pero hay una anotación:

 val myObject = @Suppress("unused") object { @SerializedName("fieldOne") val fieldOne = myFieldOne // ... } 

Claro, puedes crear una class de datos, pero habrá casos de uso donde los singletons anónimos ( object {} ) son la mejor opción y luego necesitarás esta anotación para indicarle al análisis del código estático que es deseable y no por error.