Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java是否有相同的比较运算符示例===_Java - Fatal编程技术网

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

Java是否有相同的比较运算符示例===,java,Java,Java是一个强大的静态强制转换,这是否意味着“=”没有用处 我看过大量的文档,没有看到完全相同的比较运算符。没有java没有=运算符。nhgrif很好地解释了原因。以下是java中的运算符列表及其优先级: 源代码:====在弱类型语言(如Javascript)中很有用,因为它可以验证所比较的对象是否为相同类型,并避免隐式转换 =在Java等强类型语言中绝对没有用处,因为如果不编写具体的方法,就无法比较不同类型的变量 例如,如果要将int与Java中的String进行比较,则必须编写一些特殊

Java是一个强大的静态强制转换,这是否意味着“=”没有用处


我看过大量的文档,没有看到完全相同的比较运算符。

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


源代码

====
在弱类型语言(如Javascript)中很有用,因为它可以验证所比较的对象是否为相同类型,并避免隐式转换

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


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

boolean compareIntString(int i, String s) {
    return (i == parseInt(s));
}
但这简直是矫枉过正。(正如您所注意到的,正如所写的,这个方法只接受
int
String
。它不接受任何两个变量。在调用它之前,您知道数据类型是不同的。)

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



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

(Java不允许
int==String
,所以不需要像JavaScript这样的语言中那样的
==
。)耶,这就是我的想法,我正在阅读文档,想确定一下。请不要使用“强类型”或“弱类型”这两个术语,因为它们都定义不清。一个弱类型系统可以是允许任意的转换(例如C)、动态类型、隐式强制(java也有——考虑原始类型),或者简单地是一个类型系统,我个人发现它不优雅(最常见的意思),这取决于你问的是谁。关于Java中的强制:数值类型会自动升级为更广泛的类型,您可以在不进行显式强制的情况下将浮点值与整数类型进行比较。此外,
+
可能会将参数强制为字符串。@PM77-1该图像用于显示java中的所有合法运算符。不需要调整。我倾向于同意@PM77-1,但是。。。这个问题确实说明他已经查阅了文件,但找不到答案。这个答案确实提供了提问者应该查看的文档。