Java.lang.Byte.parseByte() 方法

描述

java.lang.Byte.parseByte(String s, int radix) 将字符串参数解析为第二个参数指定的基数中的有符号字节。

字符串中的字符必须都是指定基数的数字(由 Character.digit(char, int) 是否返回非负值决定),但第一个字符可能是 ASCII 减号"−" ('\u002D') 表示负值或 ASCII 加号 '+' ('\u002B') 表示正值。 返回结果字节值。

如果出现以下任何一种情况,则会抛出 NumberFormatException 类型的异常 −

  • 第一个参数为 null 或长度为零的字符串。

  • 基数要么小于 Character.MIN_RADIX,要么大于 Character.MAX_RADIX。

  • 字符串的任何字符都不是指定基数的数字,除了第一个字符可能是减号'−' ('\u002D') 或加号 '+' ('\u002B') 前提是字符串的长度大于 1。

  • 字符串表示的值不是字节类型的值。


声明

以下是 java.lang.Byte.parseByte() 方法的声明。

public static byte parseByte(String s, int radix)
                                throws NumberFormatException

参数

  • s − 一个包含要解析的字节表示的字符串

  • 基数 − 解析 s 时要使用的基数


返回值

该方法返回指定基数的字符串参数表示的字节值。


异常

NumberFormatException − 如果字符串不包含可解析的字节。


示例

下面的例子展示了 lang.Byte.parseByte() 方法的使用。

package com.tutorialspoint;

import java.lang.*;

public class ByteDemo {

   public static void main(String[] args) {

      // create 2 byte primitives bt1, bt2
      byte bt1, bt2;

      // create and assign values to String's s1, s2
      String s1 = "123";
      String s2 = "-1a";

      // create and assign values to int r1, r2
      int r1 = 8;  // represents octal
      int r2 = 16; // represents hexadecimal

      /**
       *  static method is called using class name. Assign parseByte
       *  result on s1, s2 to bt1, bt2 using radix r1, r2
       */
      bt1 = Byte.parseByte(s1, r1);
      bt2 = Byte.parseByte(s2, r2);

      String str1 = "Parse byte value of " + s1 + " is " + bt1;
      String str2 = "Parse byte value of " + s2 + " is " + bt2;

      // print bt1, bt2 values
      System.out.println( str1 );
      System.out.println( str2 );
   }
}

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

Parse byte value of 123 is 83
Parse byte value of -1a is -26