Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.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_Compiler Errors_Incompatibletypeerror - Fatal编程技术网

Java 不兼容与不兼容类型

Java 不兼容与不兼容类型,java,compiler-errors,incompatibletypeerror,Java,Compiler Errors,Incompatibletypeerror,我对java中的这两种错误消息感到困惑 对于不兼容的类型,它可能发生在以下场景中 if(integer=="String") 在哪种情况下,我将获得java中的不可比较类型? 这两种类型之间的主要区别是什么?当您尝试分配两种不兼容的类型时,会发生错误 当您尝试比较两种不同类型时,会发生不可比较类型错误。当您尝试分配两种不可比较类型时,会发生不可比较类型错误 当您尝试比较两种不同的类型时,会发生不可比较的类型错误。在兼容类型错误中 尝试使用不同类型分配时发生 在可比类型错误中 尝试比较兼容类型中

我对java中的这两种错误消息感到困惑

对于不兼容的类型,它可能发生在以下场景中

if(integer=="String")
在哪种情况下,我将获得java中的不可比较类型?
这两种类型之间的主要区别是什么?

当您尝试分配两种不兼容的类型时,会发生错误


当您尝试比较两种不同类型时,会发生不可比较类型错误。

当您尝试分配两种不可比较类型时,会发生不可比较类型错误

当您尝试比较两种不同的类型时,会发生不可比较的类型错误。

在兼容类型错误中
尝试使用不同类型分配时发生

在可比类型错误中
尝试比较兼容类型中的两种不同类型时发生错误
尝试使用不同类型分配时发生

在可比类型错误中

在尝试比较两种不同类型时发生。

不可比较表示您尝试比较两种不同类型,但这是不合法的。例如:

Integer i = new Integer(8);
if( i == "Foo" ){}
public static String foo(int a){
    return a;
}
它将显示不可比较的类型:java.lang.Integer和java.lang.String,因为java编译器无法比较两种不同的类型(在本例中为Integer和String)

现在不兼容意味着编译器试图对变量执行操作,而该变量与该操作不兼容。例如:

Integer i = new Integer(8);
if( i == "Foo" ){}
public static String foo(int a){
    return a;
}
显然,如果没有正确的强制转换,就不能将int值作为字符串返回,在这种情况下,返回操作需要一个字符串及其给定值和int,因此返回操作与int数据类型不兼容


简而言之,不兼容指的是无法进行特定操作的数据类型,不可比较指的是无法比较的一对数据类型。

不可比较指的是您试图比较两种不同的类型,这是不合法的。例如:

Integer i = new Integer(8);
if( i == "Foo" ){}
public static String foo(int a){
    return a;
}
它将显示不可比较的类型:java.lang.Integer和java.lang.String,因为java编译器无法比较两种不同的类型(在本例中为Integer和String)

现在不兼容意味着编译器试图对变量执行操作,而该变量与该操作不兼容。例如:

Integer i = new Integer(8);
if( i == "Foo" ){}
public static String foo(int a){
    return a;
}
显然,如果没有正确的强制转换,就不能将int值作为字符串返回,在这种情况下,返回操作需要一个字符串及其给定值和int,因此返回操作与int数据类型不兼容

简而言之,不兼容指的是无法进行特定操作的数据类型,而不可比较指的是无法比较的一对数据类型