Java:如何获得简短的abs值并保持简短

时间:2018-03-09 09:50:37

标签: java math type-conversion

Short s = somevalue; // could be negative or positive
myobject.setMyShort(Math.abs(s));

我无法更改myShort MyObject的字段类型,同时Math.abs只返回int值。 这种方式是否正确或是否会导致原始值的变化?

myobject.setMyShort((short) Math.abs(s));

2 个答案:

答案 0 :(得分:2)

这是正确的方法 - 如果你确定你的论点很短 - 那么它将被安全地铸造。

答案 1 :(得分:0)

更好的方法是编写Math.abs()方法,代码更清晰:

public abstract class MathUtils {
    public static short absShort(short a){
        return a > 0 ? a : -a;
    }
}