1,字符数组 转换为 字符串
java可以使用两种方法直接将字符数组转为字符串。
方法1:直接在构造String时转换。
char[] data = {'a', 'b', 'c'};
String str = new String(data);
方法2:调用String类的方法转换。
//String.valueOf(char[] ch);
String str = String.valueOf(data);
2,字符串数组转换为字符串
如果是 “字符串数组” 转 “字符串”,只能通过循环,没有其它方法
String[] str = {"abc", "bcd", "def"};
StringBuffer sb = new StringBuffer();
for(int i = 0; i < str.length; i++){
sb. append(str[i]);
}
String s = sb.toString();
//William感悟:当然可以通过 String的字符串拼接,但是这样会不断创建String对象,然后销毁对象,这样有点浪费内存,还不如StringBuffer
3,字符串 转换为 字符数组
这个要看你的具体需求了.如果是有分隔符的那种例如"a,b,c";就直接分割就行了.
String string = "a,b,c";
String [] stringArr= string.split(","); //注意分隔符是需要转译滴...
如果是"abc"这种字符串,就直接
String string = "abc" ;
char [] stringArr = string.toCharArray(); //注意返回值是char数组
如果要返回byte数组就直接使用getBytes方法就ok了~~
String string = "abc" ;
byte [] stringArr = string.getBytes();
4,字符串 转换为 字符串数组
package demo01; /** * * @ClassName: ArrayAndString * @Description: * @author William_Dai * @date 2018年8月15日 * */ public class ArrayAndString { public static void main(String[] args) { /**1,数组转换为字符串*/ //方法1:直接在构造String时转换。 char[] data = {'a', 'b', 'c'}; String str = new String(data); System.out.println(str); //方法2:调用String类的方法转换。 String str2 = String.valueOf(data); System.out.println(str2); /**2,字符串数组转换为字符串*/ //如果是 “字符串数组” 转 “字符串”,只能通过循环,没有其它方法 String[] str3 = {"abc", "bcd", "def"}; StringBuffer sb = new StringBuffer(); for(int i = 0; i < str3.length; i++){ sb. append(str3[i]); } String str4 = sb.toString(); System.out.println(str4); //William感悟:当然可以通过 String的字符串拼接,但是这样会不断创建String对象,然后销毁对象,这样有点浪费内存,还不如StringBuffer /**3,字符串转换为数组*/ //这个要看你的具体需求了.如果是有分隔符的那种例如"a,b,c";就直接分割就行了. String str5 = "a,b,c"; String [] strArr= str5.split(","); for(int i = 0 ; i < strArr.length; i ++){ System.out.print(strArr[i]+" "); } //如果是"abc"这种字符串,就直接 String str6 = "abc" ; char [] stringArr = str6.toCharArray(); //注意返回值是char数组 for(int i = 0 ; i < stringArr.length; i ++){ System.out.print(stringArr[i]+" "); } //如果要返回byte数组就直接使用getBytes方法就ok了~~ String str7 = "abc" ; byte [] intArr = str7.getBytes(); for(int i = 0 ; i < intArr.length; i ++){ System.out.print(intArr[i]+" "); } /**4,字符串转换为字符串数组*/ String str8 = "Are you OK ?"; String [] strArr2= str8.split(" "); for(int i = 0 ; i < strArr2.length; i ++){ System.out.println(strArr2[i]); } } }