任务描述
本关任务:完成基本类型和 Short 类之间的转换。
相关知识
Short 类在对象中包装了一个基本类型 short 的值。Short 类对象包含一个 short 类型的字段。此外,该类提供了多个方法,能在 short 类型和 String 类型之间互相转换,还提供了处理 short 类型时非常有用的其他一些常量和方法。
Short 类中的构造方法有以下两个:
-
Short(short value):构造一个新分配的 Short 对象,用来表示指定的 short 值;
-
Short(String s):构造一个新分配的 Short 对象,用来表示 String 参数所指示的 short 值。
可以传入基本类型 short 的参数,或者字符串参数。
例如,以下代码分别使用以上 2 个构造方法获取 Short 对象:
short a = 10;
Short short1 = new Short(a); // 以 short 类型的变量作为参数创建 Short 对象
Short short3 = new Short("7"); // 以 String 类型的变量作为参数创建 Short 对象
接下来,我们来讲解 Short 类的常用方法。
- shortValue():以 short 形式返回此 Short 的值;
转成其他基本类型: byte、int、long、float、double;
- byte byteValue():以 byte 形式返回此 Short 的值;
- int intValue():以 int 形式返回此 Short 的值;
- long longValue():以 Long 形式返回此 Short 的值;
- float floatValue():以 float 形式返回此 Short 的值;
- double doubleValue():以 double 形式返回此 Short 的值。
例子:
// 定义一个 Short 对象类型的变量
Short a = new Short("10");
// 将 a 类型转变为 int 的基础数据类型
int i = a.intValue();
System.out.print(i);
执行结果:
10
Object 类的方法;
- int hashCode():返回此 Short 的哈希码;
- String toString():返回表示此 Short 的值的 String 对象;
- boolean equals(Object obj):将此对象与指定对象比较。
包装类 Short 对象比较大小的方法;
int compareTo(Short anotherShort):比较两个 Short 对象所表示的数值,将两数相减后的结果返回。
short a = 10;
Short short1 = new Short(a); // 以 short 类型的变量作为参数创建 Short 对象
Short short2 = new Short("7"); // 以 String 类型的变量作为参数创建 Short 对象
int i = short1.compareTo(short2); // 返回 short1-short2 后的值
System.out.println(i);
执行结果:
3
基本类型 short 和 String 相互转换的方法;
- short parseShort(String s):将字符串参数解析为有符号的十进制 short;
- String toString():返回表示指定 Short 的一个新 String 对象。
String str = "1000";
short shortValue = Short.parseShort(str);// 将字符串参数解析为有符号的十进制 short
Short a = new Short((short)10);
String s = a.toString(); // 返回表示指定 Short 的一个新 String 对象。
System.out.println(shortValue);
System.out.println(s);
执行结果:
1000
10
包装类 Short 和 String 相互转换的方法。
- Short decode(String nm):将 String 解码为 Short;
- Short valueOf(String s):返回一个保持指定 String 所给出的值的 Short 对象。
Short aShort = Short.valueOf("10");
System.out.println(aShort);
执行结果:
/*
* 掌握基本类型和 Short 类之间的转换。
*/
public class Test {
public static void main(String[] args) {
String s1 = "18";
// 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
/********** Begin **********/
// 定义一个 Short 对象,将其值设为 23,命名为 s
Short s = 23;
// 将 s 转换为 String 类型,命名为 sString
String sString = s.toString();
// 将变量 s1 类型转换为 Short 类,命名为 aShort
Short aShort = Short.parseShort(s1);
// 将 aShort 转换为 int 类型,命名为 in
int in = aShort.intValue();
/********** End **********/
System.out.println("Short包装类s:" + s);
System.out.println("String类型sString:" + sString);
System.out.println("Short包装类aShort:" + aShort);
System.out.println("int类型in:" + in);
}
}
10