Java是否具有相同的比较运算符示例===
Java是一个强静态强制转换,所以这意味着没有用“===”
我查看了大量的文档,并没有看到相同的比较运算符。
===
在弱类型语言中很有用,例如Javascript,因为它validation被比较的对象是相同的类型并避免隐式转换。
===
在Java等强类型语言中绝对没有用,因为如果不编写特定的方法,就无法比较不同类型的变量。
例如,如果要将int
与String
中的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