Java.lang.Long 类

java.lang.Long.parseUnsignedLong() 方法用于将字符串参数解析为基数中的 unsigned long由第二个参数指定。无符号整数将通常与负数关联的值映射到大于 MAX_VALUE 的正数。字符串中的字符必须全部是指定基数的数字(由Character.digit(char, int)是否返回非负值决定),除了第一个字符可以是ASCII加号"+"("\u002B" ')。返回结果整数值。

如果发生以下任何情况,则会抛出 NumberFormatException 类型的异常:

  • 第一个参数是null 或长度为零的字符串。
  • 基数要么小于Character.MIN_RADIX,要么大于Character.MAX_RADIX。
  • 字符串中的任何字符都不是指定的基数,但第一个字符可以是加号 '+' ('\u002B'),前提是字符串长度超过 1。
  • 字符串表示的值大于最大值unsigned long, 264-1。

语法

public static long parseUnsignedLong(String s,
                                     int radix)
                              throws NumberFormatException

参数

s 指定包含要解析的无符号整数表示的字符串。
基数 指定解析 s 时使用的基数。

返回值

返回由指定基数中的字符串参数。

异常

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

示例:

在下面的示例中,java.lang.Long.parseUnsignedLong()方法用于将字符串参数解析为指定的无符号长整数基数。

import java.lang.*;

public class MyClass {
  public static void main(String[] args) {
    
    //创建一个保存无符号长整型值的字符串
    String x = "100";
    String y = "6F";

    //使用创建无符号长值
    //基数为2(二进制)
    long p = Long.parseUnsignedLong(x, 2);

    //使用创建无符号长值
    //基数为16(十六进制)
    long q = Long.parseUnsignedLong(y, 16);

    //打印字符串
    System.out.println("The string x is: " + x); 
    System.out.println("The string y is: " + y); 

    //打印无符号长整型值
    System.out.println("The long value p is: " + p);   
    System.out.println("The long value q is: " + q);    
  }
}

上述代码的输出将是:

The string x is: 100
The string y is: 6F
The long value p is: 4
The long value q is: 111