em tìm được một ví dụ trên mạng như sau:
val a: Int = 100 val boxedA: Int? = a val anotherBoxedA: Int? = a val b: Int = 10000 val boxedB: Int? = b val anotherBoxedB: Int? = b println(boxedA === anotherBoxedA) // true println(boxedB === anotherBoxedB) // false
kết quả là true false
theo như họ giải thích thì kết quả như vậy là do cơ chế tối ưu bộ nhớ integer nullable từ -128 đến 127
nhưng sau khi em chuyển biến a và b thành nullable như sau
val a: Int? = 100 val boxedA: Int? = a val anotherBoxedA: Int? = a val b: Int? = 10000 val boxedB: Int? = b val anotherBoxedB: Int? = b println(boxedA === anotherBoxedA) // true println(boxedB === anotherBoxedB) // true
kết quả là true true
em đã tra gg khá nhiều mà k có kết quả, mong anh chị giúp đỡ ạ, em cảm ơn nhiều