- Java.lang 包类
- Java.lang - 首页
- Java.lang - Boolean
- Java.lang - Byte
- Java.lang - Character
- Java.lang - Character.Subset
- Java.lang - Character.UnicodeBlock
- Java.lang - Class
- Java.lang - ClassLoader
- Java.lang - Compiler
- Java.lang - Double
- Java.lang - Enum
- Java.lang - Float
- Java.lang - InheritableThreadLocal
- Java.lang - Integer
- Java.lang - Long
- Java.lang - Math
- Java.lang - Number
- Java.lang - Object
- Java.lang - Package
- Java.lang - Process
- Java.lang - ProcessBuilder
- Java.lang - Runtime
- Java.lang - RuntimePermission
- Java.lang - SecurityManager
- Java.lang - Short
- Java.lang - StackTraceElement
- Java.lang - StrictMath
- Java.lang - String
- Java.lang - StringBuffer
- Java.lang - StringBuilder
- Java.lang - System
- Java.lang - Thread
- Java.lang - ThreadGroup
- Java.lang - ThreadLocal
- Java.lang - Throwable
- Java.lang - Void
- Java.lang 包附加内容
- Java.lang - 接口
- Java.lang - 错误
- Java.lang - 异常
- Java.lang 包有用资源
- Java.lang - 有用资源
- Java.lang - 讨论
Java - Byte parseByte() 方法
描述
Java Byte parseByte(String s, int radix) 方法将字符串参数解析为第二个参数指定的基数中的带符号字节。
字符串中的字符必须全部为指定基数的数字(由 Character.digit(char, int) 返回非负值决定),但第一个字符可以是 ASCII 减号 '−' ('\u002D') 表示负值,或 ASCII 加号 '+' ('\u002B') 表示正值。返回生成的字节值。
如果出现以下任何情况,则会抛出 NumberFormatException 类型的异常:
第一个参数为空或长度为零的字符串。
基数小于 Character.MIN_RADIX 或大于 Character.MAX_RADIX。
字符串的任何字符都不是指定基数的数字,但第一个字符可以是减号 '−' ('\u002D') 或加号 '+' ('\u002B'),前提是字符串长度大于 1。
字符串表示的值不是 byte 类型的值。
声明
以下是 java.lang.Byte.parseByte() 方法的声明
public static byte parseByte(String s, int radix) throws NumberFormatException
参数
s − 包含要解析的字节表示形式的字符串
radix − 解析 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 = "-12"; /** * static method is called using class name. * assign parseByte result on s1, s2 to bt1, bt2 */ bt1 = Byte.parseByte(s1, 8); bt2 = Byte.parseByte(s2, 8); 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 -12 is -10
将包含十六进制值的字符串解析为字节的示例
以下示例演示了 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 = "12"; String s2 = "-1a"; /** * static method is called using class name. * assign parseByte result on s1, s2 to bt1, bt2 */ bt1 = Byte.parseByte(s1, 16); bt2 = Byte.parseByte(s2, 16); 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 12 is 18 Parse byte value of -1a is -26
解析包含无效十六进制值的字符串以获取字节时出现异常的示例
以下示例演示了 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 = "123"; String s2 = "14"; /** * static method is called using class name. * assign parseByte result on s1, s2 to bt1, bt2 */ bt1 = Byte.parseByte(s1, 16); bt2 = Byte.parseByte(s2, 16); 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:"123" Radix:16 at java.base/java.lang.Byte.parseByte(Byte.java:154) at com.tutorialspoint.ByteDemo.main(ByteDemo.java:18)