(PASS)字符数组字符串数组和字符串的相互转换
1,字符数组转换为字符串
java可以使⽤两种⽅法直接将字符数组转为字符串。
⽅法1:直接在构造String时转换。
char[] data = {'a', 'b', 'c'};
String str = new String(data);
⽅法2:调⽤的⽅法转换。
//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 = CharArray(); //注意返回值是char数组
如果要返回byte数组就直接使⽤getBytes⽅法就ok了~~
String string = "abc" ;
byte [] stringArr = Bytes();
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 = CharArray(); //注意返回值是char数组
for(int i = 0 ; i < stringArr.length; i ++){
System.out.print(stringArr[i]+" ");
}
//如果要返回byte数组就直接使⽤getBytes⽅法就ok了~~
String str7 = "abc" ;
byte [] intArr = Bytes();
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]);
}
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论