Java.lang.Long 类

java.lang.Long.decode() 方法用于将 String 解码为 Long。接受由以下语法给出的十进制、十六进制和八进制数字:

DecodableString:

  • Signopt DecimalNumeral
  • 签名opt 0x HexDigits
  • 签名opt 0X HexDigits
  • 签名opt # 十六进制数字
  • 签名opt 0 八进制数字

签名:

  • +
  • -

可选符号和/或基数说明符("0x"、"0X"、"#"或前导)后面的字符序列零)由具有指定基数(10、16 或 8)的 Long.parseLong 方法解析。该字符序列必须表示正值,否则将引发 NumberFormatException。如果指定字符串的第一个字符是减号,则结果取反。字符串中不允许有空格字符。

语法

public static Long decode(String nm)
                   throws NumberFormatException

参数

nm 指定要解码的字符串。

返回值

返回一个 Long 对象,其中保存 nm 表示的 long 值。

异常

如果字符串不包含可解析的 long,则抛出 NumberFormatException

示例:

在下面的示例中,java.lang.Long.decode() 方法用于将 String 解码为 Long。

import java.lang.*;

public class MyClass {
  public static void main(String[] args) {
    
    //创建一个保存长值的字符串
    String x1 = "25";    //十进制数
    String x2 = "0x6f";  //十六进制数
    String x3 = "0X6B";  //十六进制数
    String x4 = "-#6c";  //十六进制数
    String x5 = "027";   //八进制数

    //创建Long对象
    Long y1 = Long.decode(x1);
    Long y2 = Long.decode(x2);
    Long y3 = Long.decode(x3);
    Long y4 = Long.decode(x4);
    Long y5 = Long.decode(x5);

    //打印Long对象
    System.out.println("The Long object y1 is: " + y1);
    System.out.println("The Long object y2 is: " + y2);  
    System.out.println("The Long object y3 is: " + y3);  
    System.out.println("The Long object y4 is: " + y4);  
    System.out.println("The Long object y5 is: " + y5);     
  }
}

输出上面的代码将是:

The Long object y1 is: 25
The Long object y2 is: 111
The Long object y3 is: 107
The Long object y4 is: -108
The Long object y5 is: 23