这个问题如果展开了说就复杂去了,包括内存怎么存的呀,如何指向的的呀。
给一个小技巧,Java 的基本数据类型就是下面这些,这些数据类型是可以直接用 CPU 进行计算的。
如果把这些基本数据类型转换为对象的过程就是我们说的包装了。用得最多的是 String,然后面试的时候很多人都喜欢问下这些类型的转换,其实再正常不过了。
在 Java 编程的过程中很多时候都要涉及到类型的转换了。
==
比较的是变量(栈)内存中存放的对象的(堆)内存地址,用来判断两个对象的地址是否相同,即是否是指相同一个对象。因为基本类型都是 CPU 进行计算的,比较地址能获得结果,这个不难理解吧。 因为基本类型都是 CPU 进行计算的,比较地址能获得结果,这个不难理解吧。
在基本类型转换为对象后,使用 == 比较地址毫无意义,因为不同对象使用不同地址,这个也没毛病吧。
==
比较值,只能用 equals。
https://www.ossez.com/t/java-string/13695