===在弱类型语言(例如Javascript)中非常有用,因为它可以验证被比较的对象是同一类型,并避免隐式转换。
===在Java之类的强类型语言中绝对没有用,因为您不能在不编写特定方法的情况下比较不同类型的变量。
例如,如果你想一个比
int一个
String的
Java,你将不得不写一些特殊的方法,例如:
boolean compareIntString(int i, String s) { return (i == parseInt(s));}
但这几乎是矫over过正。(正如您所注意到的那样,该方法只接受an
int和a
String。它不只接受任何两个变量。在调用它之前,您知道数据类型是不同的。)
主要的一点是,虽然你可以做
i == s的
Javascript,你不能这样做
i == s的
Java,所以你不需要做
===。
我想,简单的答案是
Java的
==就是
Javascript的
===。如果你想模仿
Javascript的
==和比较两个项目,忽略数据类型,你必须写一个接受的通用数据类型作为参数的自定义方法......并找出逻辑上比较,至少,所有可能的
Java的原始数据类型的组合…
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)