小编Ala*_*ley的帖子

将 Float 转换为 Int 差异

我似乎无法弄清楚为什么我可以执行以下操作将 float 转换为 int:

float a = 3;
int b = (int)a;
Run Code Online (Sandbox Code Playgroud)

但是当我尝试以下操作时:

public class MyTestCode{
    public static int Add(Object a, Object b){
        int c = (int)a;
        int d = (int)b;
        return c + d;
    }
}
Run Code Online (Sandbox Code Playgroud)

...它给出了以下错误:

*Exception in thread "main" java.lang.ClassCastException: java.lang.Float cannot be cast to java.lang.Integer
at myTestCode.MyTestCode.Add(MyTestCode.java:15)
at ch02.ex01.Ch02Ex01.main(Ch02Ex01.java:25)
Java Result: 1*
Run Code Online (Sandbox Code Playgroud)

为什么我可以在一个示例中从 float 转换为 int,而在另一个示例中则不能?

java casting object

1
推荐指数
1
解决办法
3348
查看次数

标签 统计

casting ×1

java ×1

object ×1