1. 由 基本数据型态转换成 String String 类别中已经提供了将基本数据型态转换成 String 的 static 方法 也就是 String.valueOf() 这个参数多载的方法 有下列几种 String.valueOf(boolean b) : 将 boolean 变量 b 转换成字符串 String.valueOf(char c) : 将 char 变量 c 转换成字符串 String.valueOf(char[] data) : 将 char 数组 data 转换成字符串 String.valueOf(char[] data, int offset, int count) : 将 char 数组 data 中 由 data[offset] 开始取 count 个元素 转换成字符串 String.valueOf(double d) : 将 double 变量 d 转换成字符串 String.valueOf(float f) : 将 float 变量 f 转换成字符串 String.valueOf(int i) : 将 int 变量 i 转换成字符串 String.valueOf(long l) : 将 long 变量 l 转换成字符串 String.valueOf(Object obj) : 将 obj 对象转换成 字符串, 等于 obj.toString() 用法如: int i = 10; String str = String.valueOf(i); 这时候 str 就会是 "10" 2. 由 String 转换成 数字的基本数据型态 要将 String 转换成基本数据型态转 大多需要使用基本数据型态的包装类别 比如说 String 转换成 byte 可以使用 Byte.parseByte(String s) 这一类的方法如果无法将 s 分析 则会丢出 NumberFormatException byte : Byte.parseByte(String s) : 将 s 转换成 byte Byte.parseByte(String s, int radix) : 以 radix 为基底 将 s 转换为 byte 比如说 Byte.parseByte("11", 16) 会得到 17 double : Double.parseDouble(String s) : 将 s 转换成 double float : Double.parseFloat(String s) : 将 s 转换成 float int : Integer.parseInt(String s) : 将 s 转换成 int long : Long.parseLong(String)
int radix 是指的基数 ,就是指的进制基数 比如你的例子中 b[0] = Byte.parseByte("11", 2) = 3 表示 字符串11以2为基数表示为10进制的byte值是 3 ,这里的11表示的是一个2进制数 b[0] = Byte.parseByte("11", 3) = 4 表示 字符串11以3为基数表示为10进制的byte值是 4 ,这里的11表示的是一个3进制数 如果你给的string 不能转换,或者基数小于2或大于36 会抛出异常 如 b[0] = Byte.parseByte("12", 2)
// 2 进制中只有1和0 b[0] = Byte.parseByte("12", 1) // 基数应该在 1<radix<37