还债——Java中基本数据类型,String,数组之间转换(数组不能通过toString转换为String)
char[]数组-->String
char []ch = new char[10]; Arrays.fill(ch, 'o');
1.调用String.valueOf(ch)转换
String str = String.valueOf( ch );
2.直接在构造String时转换
String str2 = new String(ch);
3.还可以用for循环来赋值
4.关于数组中的toString()方法:
数组继承了Object类, 会有一个toString()方法,输出结果为[类型@哈希值]
public String toString() { return getClass().getName() + "@" + Integer.toHexString(hashCode()); }
而数组没有重写(override)此方法,只是重载(overload)了,所以数组的toString()结果仍然是[类型@哈希值]
所以,应该写为
String str3 = Arrays.toString( ch );
但是这种输出是带格式的[o, o, o, o, o, o, o, o, o, o]
String-->char[]数组
1.转化为数组
char[] ch = str.toCharArray();
2.转化单个字符
char ch1 = str.charAt( 0 );
int-->String
int num = 134324;
1.调用String.valueOf()
String str = String.valueOf( num );
2.调用基本类型的包装类的toString()方法
String str1 = Integer.toString( num );
3.直接用空串连接
String str2 = "" + num;
String-->int
String str = "123456";
1.使用该基本类型的包装类的parseInt()
int num = Integer.parseInt( str );
2.使用包装类的valueOf(),后面可以手动拆箱,也可以自动拆箱
int num1 = Integer.valueOf( str ).intValue();
char[]数组 --> int