Lokik Soni
11/06/2021, 12:58 PMdata class BatteryProfile(
private val _temperature: Int,
) {
val temperature get() = logic to convert _temperature from kelvin to celsius
}
So i applied the above solution but i am feeling it is not good way also I have not seen data class primary constructor field as privete in any example.
Please tell me if it is correct way or if wrong so how to achieve this.Stephan Schroeder
11/06/2021, 1:22 PM@JvmInline
value class Temperature private constructor(val inKelvin: Int) {
val inCelsius: Int get()= temperatureInKelvin - 273
override fun toString() = "${inKelvin}K"
companion object {
fun inCelsius(degreesInC: Int) = Temperature((degreesInC + 273).coerceAtLeast(0))
fun inKelvin(degreesInK: Int) = Temperature( degreesInK.coerceAtLeast(0))
}
}
data class BatteryProfile(
val temperature: Temperature,
)