Java - Short decode() 方法



Java Short decode() 方法将字符串转换为短整型。它接受十进制、十六进制和八进制数字,遵循以下语法:

可解码字符串 -

  • Signopt DecimalNumeral

  • Signopt 0x HexDigits

  • Signopt 0x HexDigits

  • Signopt # HexDigits

  • Signopt 0 OctalDigits

Short.parseShort 方法根据指定的基数 (10、16 或 8) 解析可选符号和/或基数说明符 ("0x"、"0X"、"#" 或前导零) 后的字符序列。除非此字符串表示正值,否则将引发 NumberFormatException。如果负号出现在提供的字符串的第一个字符中,则结果将被取反。字符串不能包含任何空格字符。

语法

以下是Java Short decode() 方法的语法:

public static Short decode(String nm) throws NumberFormatException

参数

  • nm - 这是要解码的字符串。

返回值

此方法返回一个 Short 对象,其中包含 nm 表示的短整型值。

解码包含正短整型值的字符串示例

当将正整数作为参数传递给此方法时,它将返回相同的值。

以下是一个示例,通过将正整数作为字符串参数传递给创建的变量 'x' 来将字符串值解码为短整型:

package com.tutorialspoint;

public class ShortDemo {
   public static void main(String[] args) {
      String x = "87";
      Short decode = Short.decode(x);
      System.out.println("String value decoded to short is:  = " + decode);
   }
}

输出

让我们编译并运行上面的程序,这将产生以下结果:

String value decoded to short is:  = 87

解码包含正短整型八进制值的字符串示例

当我们将八进制数作为参数传递给此方法时,它将返回等效的解码字符串值到短整型。

在下面的示例中,创建了字符串变量 'x'。然后将八进制值赋给此变量。之后,通过传递字符串参数中的八进制数将其解码为短整型:

package com.tutorialspoint;

public class ShortDemo {
   public static void main(String[] args) {
      String x = "072";
      Short decode = Short.decode(x);
      System.out.println("decoded String value in to Short  = " + decode);
   }
}  

输出

以下是上述代码的输出:

decoded String value in to Short  = 58

解码包含正短整型十六进制值的字符串示例

如果我们将十六进制数作为参数传递,则此方法将返回等效的解码字符串值到短整型。

以下是一个示例,其中创建了一个字符串变量 'x'。将十六进制数赋给该变量。然后,为了将字符串值解码为短整型,将十六进制数作为字符串参数传递:

package com.tutorialspoint;

public class ShortDemo {
   public static void main(String[] args) {
      String x = "0x6f";
      Short decode = Short.decode(x);
      System.out.println("decoded String value in to Short  = " + decode);
   }
}

输出

执行上述程序后,输出如下:

decoded String value in to Short  = 111

解码包含无效值的字符串时遇到异常示例

当我们使用此方法传递字符串作为参数时,它将返回 NumberFormatException。

在下面的示例中,赋给字符串变量 'x' 的值 "TutorialsPoint" 不包含可解析的短整型值。因此,它会抛出 NumberFormatException:

package com.tutorialspoint;

public class ShortDemo {
   public static void main(String[] args) {
      String x = "TutorialsPoint";
      Short decode = Short.decode(x);
      System.out.println("decoded String value in to Short  = " + decode);
   }
}

NumberFormatException

执行上述代码时,我们得到以下输出:

Exception in thread "main" java.lang.NumberFormatException: For input string: "TutorialsPoint"
      at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:67)
      at java.base/java.lang.Integer.parseInt(Integer.java:668)
      at java.base/java.lang.Integer.decode(Integer.java:1454)
      at java.base/java.lang.Short.decode(Short.java:326)
      at com.tutorialspoint.ShortDemo.main(ShortDemo.java:4)
java_lang_short.htm
广告