数组 和 字符串 的相互转换

1,字符数组转换为字符串

java可以使用两种方法直接将字符数组转为字符串。

方法1:直接在构造String时转换。
char[] data = {'a', 'b', 'c'};
String str = new String(data);

方法2:调用String类的方法转换。
String.valueOf(char[] ch)

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();

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,字符串转换为字符串数组

/**
 * 
 * @ClassName: ArrayAndString
 * @Description: TODO(这里用一句话描述这个类的作用)
 * @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);
        
        /**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]);
        }
    }

}

猜你喜欢

转载自www.cnblogs.com/william-dai/p/9480662.html