关于java:Java-为什么设计成-String-不能用-来进行比较

35次阅读

共计 588 个字符,预计需要花费 2 分钟才能阅读完成。

这个问题如果开展了说就简单去了,包含内存怎么存的呀,如何指向的的呀。

给一个小技巧,Java 的根本数据类型就是上面这些,这些数据类型是能够间接用 CPU 进行计算的。

整数类型:byte,short,int,long
浮点数类型:float,double
字符类型:char
布尔类型:boolean

如果把这些根本数据类型转换为对象的过程就是咱们说的包装了。用得最多的是 String,而后面试的时候很多人都喜爱问下这些类型的转换,其实再失常不过了。

在 Java 编程的过程中很多时候都要波及到类型的转换了。

== 比拟的是变量 (栈) 内存中寄存的对象的 (堆) 内存地址,用来判断两个对象的地址是否雷同,即是否是指雷同一个对象。因为根本类型都是 CPU 进行计算的,比拟地址能取得后果,这个不难理解吧。因为根本类型都是 CPU 进行计算的,比拟地址能取得后果,这个不难理解吧。

在根本类型转换为对象后,应用 == 比拟地址毫无意义,因为不同对象应用不同地址,这个也没故障吧。

论断
因而论断就是如果是对象不能用 == 比拟值,只能用 equals。
Java 根本类型都是小写结尾,包装类型都是大写结尾,好记吧。
在包装类型的比拟中,理论编程的时候都不肯定间接用 equals 来比拟,因为可能有空对象异样,通常都会用 Apache 的 Commons 或者 Guava 来比拟。

https://www.ossez.com/t/java-…

正文完
 0