Java - Byte parseByte() 方法



描述

Java Byte parseByte(String s) 方法将字符串参数解析为带符号的十进制字节。字符串中的字符必须全部是十进制数字,但第一个字符可以是 ASCII 减号 '−' ('\u002D') 表示负值,或者 ASCII 加号 '+' ('\u002B') 表示正值。

返回的结果字节值与将参数和基数 10 作为参数传递给 parseByte(java.lang.String, int) 方法时完全相同。

声明

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

public static byte parseByte(String s)throws NumberFormatException

参数

s − 包含要解析的字节表示形式的字符串

返回值

此方法返回参数以十进制表示的字节值。

异常

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

将包含带符号值的字符串解析为字节的示例

以下示例演示了如何使用 Byte parseByte() 方法解析带有符号的字符串。我们创建了两个字节变量和两个包含有效值的字符串变量。然后使用 parseByte() 方法获取字节,最后打印结果。

package com.tutorialspoint;
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 = "-123";

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

      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 123
Parse byte value of -123 is -123

将包含无符号值的字符串解析为字节的示例

以下示例演示了如何使用 Byte parseByte() 方法解析不带符号的字符串。我们创建了两个字节变量和两个包含有效值的字符串变量。然后使用 parseByte() 方法获取字节,最后打印结果。

package com.tutorialspoint;
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 = "14";

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

      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 123
Parse byte value of 14 is 14

解析包含无效值的字符串以获取字节时引发 NumberFormatException 的示例

以下示例演示了如何使用 Byte parseByte() 方法解析包含无效值的字符串。我们创建了两个字节变量和两个包含无效值的字符串变量,因为值超出了范围。然后使用 parseByte() 方法尝试获取字节时,将抛出 NumberFormatException。

package com.tutorialspoint;
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 = "1234";
      String s2 = "14";

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

      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 );
   }
}

输出

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

Exception in thread "main" java.lang.NumberFormatException: Value out of range. Value:"1234" Radix:10
	at java.base/java.lang.Byte.parseByte(Byte.java:154)
	at java.base/java.lang.Byte.parseByte(Byte.java:178)
	at com.tutorialspoint.ByteDemo.main(ByteDemo.java:18)
java_lang_byte.htm
广告