类型转换时Java中的编译错误

时间:2016-02-18 10:48:14

标签: java

当我尝试使用函数返回值进行类型转换时,我在Java中得到了编译错误

 public  short subtractNumbers (short a, byte b, float k )
 {
       short result=short(a+b-k);
       return result;
 }

对于上面编写的代码片段,我从编译器获取错误语句,如:

 error: '.class' expected
  short result=short(a+b-k);
                    ^
  error: not a statement
  short result=short(a+b-k);
                     ^
  error: ';' expected
  short result=short(a+b-k);
                      ^

这里可能出现什么问题,错误陈述背后的逻辑是什么? 在此先感谢您的帮助,我将非常感激。

1 个答案:

答案 0 :(得分:6)

这不是类型转换的语法。正确的语法是

short s = (short) someValue;

而不是

short s = short(someValue);

所以你想要

short result = (short) (a + b - k);