pengtianshi999 2021-06-27 18:31 采纳率: 50%
浏览 59
已采纳

Java中Short类的valueof方法问题

public class baoz {
    public static void main(String[] args) {

   Short a=Short.valueOf(100);
        //Long a=Long.valueOf(100);
        System.out.println(a);
    }
}

报错Error:(8, 17) java: 对于valueOf(int), 找不到合适的方法
    方法 java.lang.Short.valueOf(java.lang.String)不适用
      (参数不匹配; int无法转换为java.lang.String)
    方法 java.lang.Short.valueOf(short)不适用
      (参数不匹配; 从int转换到short可能会有损失)

 

但是这样就没错

public class baoz {
    public static void main(String[] args) {
        Long a=Long.valueOf(100);
        System.out.println(a);
    }
}

这俩写法不是一样的吗,不知道哪里出了问题

  • 写回答

1条回答 默认 最新

  • 404警告 2021-06-27 20:47
    关注

    short中都没有int类型的构造方法

    数字从int转换为short可能会失败(溢出),因为它是一个缩小的基元转换

    你可以强转再操作

    Short a = Short.valueOf((short) 100);
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?