短整数Short与其他类型转换
在 Java 的 Short类提供了几种方法,可以将Short对象转换为其他基本数值类型,包括double、float、int、long和short。
doubleValue() 返回double数值
以double类型返回该Short的值。
✍方法声明
public double doubleValue();
- 🪐返回值:转换为double类型后该对象表示的数值。
下面创建Short对象,并通过 doubleValue() 方法将Short对象转换为double变量,并将转换后的结果赋给double变量 num。
public static void main(String[] args) {
Short num1 = new Short("123");
double num = num1.doubleValue();
System.out.println(num1);
System.out.println(num);
}
123.0
floatValue() 获取float数值
以float类型返回该Short的值。
✍方法声明
public float floatValue();
- 🪐返回值:转换为float类型后该对象表示的数值。
下面创建Short对象,并通过floatValue()方法将Short对象转换为float变量。并将转换后的结果赋给float型变量num。
public static void main(String[] args) {
Short num1 = new Short("123");
float num = num1.floatValue();
System.out.println(num1);
System.out.println(num);
}
123.0
intValue() 获取int值
该方法以int类型返回该Short的值。
✍方法声明
public int intValue();
- 🪐返回值:转换为it类型后该对象表示的数值。
下面创建Short对象,并通过intValue()方法将Short对象转换为int变量。并将转换后的结果输出。
public static void main(String[] args) {
Short num1 = new Short("123");
int num = num1.intValue();
System.out.println(num1);
System.out.println(num);
}
123
longValue() 获取long值
以Long类型返回该Short的值。
✍方法声明
public long longValue();
- 🪐返回值:转换为long类型后该对象表示的数值。
下面创建Short对象,并通过longValue()方法将Short对象转换为long变量。并将转换后的结果输出。
public static void main(String[] args) {
Short num1 = new Short("123");
long num = num1.longValue();
System.out.println(num1);
System.out.println(num);
}
123
shortValue() 获取shot值
以short形式返回此Short的值。
✍方法声明
public short shortValue()
- 🪐返回值:以short形式返回此Short的值。
下面创建Short对象,并通过shortValue()方法将Short对象转换为long变量。并将转换后的结果输出。
public static void main(String[] args) {
Short num1 = new Short("123");
short num = num1.shortValue();
System.out.println(num1);
System.out.println(num);
}
123
parseShort() 将字符串解析为short值
该方法将字符串参数作为有符号的十进制long进行解析。需要注意的是字符串中的字符都必须是十进制数字。
✍方法声明
public static short parseShort(String s) throws NumberFormatException
- 📥入参:s包含要解析的Short表示形式的String。
- 🪐返回值:十进制的Short值。
- 🐛抛出异常NumberFormatException:如果String不包含可解析的Short。
该字符串中的字符必须都是十进制数字,除非第一个字符是表示负值的ASCII符号中的负号‘-’(\u002D
)。返回得到的short值,此值与用该参数和基数10作为参数的parseShort(java.lang.String,int)
方法得到的值相同。
public static void main(String[] args) {
short num1 = Short.parseShort("123"); //123
short num2 = Short.parseShort("-123"); // -123
short num3 = Short.parseShort("+1234"); // 1234
}
下面这几种形式是不支持的:
// 字符串没有内容
short num = Short.parseShort(""); // java.lang.NumberFormatException
// 字符串为空 Null
short num1 = Short.parseShort(null); // java.lang.NumberFormatException
// 字符串超过 short 取值范围
short num2 = Short.parseShort("123456789"); // java.lang.NumberFormatException
// 字符串包含非数字
short num3 = Short.parseShort("1024M"); // java.lang.NumberFormatException
✍方法声明
将string参数解析为有符号的Short,基数由第二个参数指定。
public static short parseShort(String s,int radix) throws NumberFormatException
- 📥入参:s:包含要解析的Short表示形式的String。
- radix:解析s时使用的基数。
- 🪐返回值:由指定基数中的字符串参数表示的short。
- 🐛抛出异常NumberFormatException:如果String不包含可解析的int。
public static void main(String[] args) {
short num1 = Short.parseShort("110", 2);
short num2 = Short.parseShort("1F", 16);
short num3 = Short.parseShort("123", 8);
short num = Short.parseShort("89", 8);
}
对于八进制的数,其数字范围在 0~7 之间。
31
83
java.lang.NumberFormatException: For input string: “89”
📝总结
Short类提供了多种方法来支持short类型的转换和解析。
这些方法对于处理不同类型的数值数据和进行类型转换非常有用。
在进行转换时,需要注意数值范围的问题,以避免数据截断或溢出。
对于字符串到short类型的转换,parseShort方法允许指定基数,使得它可以解析不同进制的数值字符串。如果转换过程中遇到无效的数值表示,将会抛出NumberFormatException异常。
开发者在使用这些方法时应该确保处理这些潜在的异常情况。