1.字符串转字符数组
String myString = "hello123"; //创建一个字符串变量myString
char[] myCharArray; //创建一个字符数组myCharArray
myCharArray = myString.toCharArray(); //将字符串变量转换为字符数组
for(int i=0; i<myCharArray.length; i++) {
System.out.print(myCharArray[i] + " "); //将每个字符打印出来
}
结果:
h e l l o 1 2 3
2.字符数组转成字符串
char[] str = {'h','e', 'l', 'l', 'o', ' ', '1','2','3'}; //创建一个字符数组
String string1 = new String(str);
String string2 = String.valueOf(str);
System.out.println(string1); //hello 123
System.out.println(string2);
在上面的代码中,可以看出char数组转成字符串的方法有两种:
一种是直接将字符数组作为参数构造String对象;
另一种是使用String的valueOf()方法。
System.out.println(string1 == string2); //false
System.out.println(string1.equals(string2)); //true
两者的结果不一样,因为在string1 == string2中,比较的是地址,由于string1 和 string2是两个不同的对象,string1是通过new方法创建的,string2是由valueOf()方法返回的对象,所以二者的地址不一样,等式的结果就是false。