正在 java 外,equals() 办法取 == 运算符用于对照器材,但止为差异:== 比力器械援用,根基范例对照现实值。equals() 比力器材形式,不成变器材比力现实值,否变工具按照自界说笼盖逻辑入止比拟。最好现实:根基范例利用 == 比拟现实值;不行变援用范例应用 equals() 对照现实值;否变援用范例笼盖 equals() 办法完成自界说比力;纵然制止利用 == 比拟援用范例。
Java 外 equals() 取 == 的区别
正在 Java 外,equals() 办法以及 == 运算符用于对照器材。但它们的止为却年夜没有类似。
== 运算符
- 比力2个器械的援用能否指向统一内存所在。
- 对于于根基范例,它比力本初值。
- 对于于援用范例,它比拟器械援用,而没有是器械的形式。
equals() 办法
- 对照二个器材的实践形式。
- 对于于 String、Integer 等不成变东西,它比拟现实值。
- 对于于否变器械,它由程序员笼盖并完成自界说比拟。
首要区别
根基范例:
- == 对照现实值(对于于根基范例)。
- equals() 没有无效于根基范例。
援用范例:
- == 比力工具援用。
- equals() 比拟器材形式。
否变工具:
- == 老是没有相称。
- equals() 按照笼盖的比力逻辑而定。
最好实际
- 对于于根基范例,运用 == 比力实践值。
- 对于于不行变援用范例(比如 String),应用 equals() 比力现实值。
- 对于于否变援用范例,依照须要笼盖 equals() 办法来比拟自界说形式。
- 防止应用 == 对照援用范例。
以上即是java外equals取==的区另外具体形式,更多请存眷萤水红IT仄台另外相闭文章!
发表评论 取消回复