Back
Syntax
Study
Editor
Mode:
HTML
CSS
JavaScript
PHP
Reset
Run »
HTML / CSS / JS
data class Address( val street: String, val city: String, val zip: String, ) data class User( val id: Int, val name: String, val email: String, val address: Address, ) fun main() { val addr = Address("123 Main St", "Springfield", "12345") val user1 = User(1, "Alice", "alice@example.com", addr) // toString — auto-generated, deeply nested println(user1) // Structural equality val user2 = User(1, "Alice", "alice@example.com", addr) println(user1 == user2) // true println(user1 === user2) // false — different objects // copy — change only specific fields val updatedUser = user1.copy( email = "alice@newdomain.com", address = addr.copy(city = "Shelbyville"), ) println(updatedUser) // Destructuring val (id, name, email) = user1 println("id=$id name=$name email=$email") // Works as map key (hashCode consistent with equals) val userMap = mapOf(user1 to "active", updatedUser to "pending") println(userMap[user2]) // active (user2 == user1) }
Result
Open