biến nullable trong kotlin
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 đỡ
<p>
em tìm được một ví dụ trên mạng như sau:
</p>
<p>
</p>
<pre>
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
</pre>
<p>
</p>
<p>
kết quả là true false
</p>
<p>
</p>
<p>
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
</p>
<p>
</p>
<p>
nhưng sau khi em chuyển biến a và b thành nullable như sau
</p>
<p>
</p>
<pre>
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
</pre>
<p>
</p>
<p>
kết quả là true true
</p>
<p>
</p>
<p>
em đã tra gg khá nhiều mà k có kết quả, mong anh chị giúp đỡ ạ, em cảm ơn nhiều
</p>
<p>
</p>