Java是否具有相同的比较运算符示例===

Java是一个强静态强制转换,所以这意味着没有用“===”

我查看了大量的文档,并没有看到相同的比较运算符。

===在弱类型语言中很有用,例如Javascript,因为它validation被比较的对象是相同的类型并避免隐式转换。

===在Java等强类型语言中绝对没有用,因为如果不编写特定的方法,就无法比较不同类型的变量。


例如,如果要将intString中的String进行比较,则必须编写一些特殊方法:

 boolean compareIntString(int i, String s) { return (i == parseInt(s)); } 

但这实在是太过分了。 (正如你所注意到的那样,这个方法只接受一个int和一个String 。它不接受任何两个变量。在你调用它之前你知道数据类型是不同的。)

重点是,虽然您可以在Javascript执行i == s ,但您无法在Java执行i == s ,因此您不需要===


我想,简短的回答是Java==Javascript=== 。 如果你想模仿Javascript==并比较两个项目,忽略数据类型,你必须编写一个自定义方法,接受通用数据类型作为参数……并找出比较的逻辑,至少, Java原始数据类型的所有可能组合……

没有java没有===运算符。 nhgrif很好地解释了原因 。 以下是java中的运算符列表及其优先级:

在此处输入图像描述

资料来源http//docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html