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); } }
这俩写法不是一样的吗,不知道哪里出了问题
short中都没有int类型的构造方法
数字从int转换为short可能会失败(溢出),因为它是一个缩小的基元转换
你可以强转再操作
Short a = Short.valueOf((short) 100);