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