Java Float to Long Typecast

ncs*_*cst 8 java type-conversion

任何人都可以告诉我这里我做错了什么.我可以将y转换为long,但同样不适用于x/y.

class Test {

long convert(int x, float y) {
    //return (long) x/y; // cannot convert from float to long
    return (long)y;
    }

}
Run Code Online (Sandbox Code Playgroud)

Lou*_*man 21

这里唯一的问题是如何用括号括起来.如果你写的话,你会没事的

return (long) (x / y);
Run Code Online (Sandbox Code Playgroud)

当你写作(long) x / y时,被视为((long) x) / y,这是float根据Java的输入规则.