chào các anh chị, em mới nhập môn kotlin và gặp phải thắc mắc muốn nhờ anh chị giúp đỡ
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