zoukankan      html  css  js  c++  java
  • (PASS)字符数组字符串数组 和 字符串 的相互转换

    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]);
            }
        }
    
    }
  • 相关阅读:
    ssh 代理详细解释
    c++ extern c
    php 删除换行符
    doxygen 模板
    php 判断字符串
    php 链接 mysql 数据库
    远程桌面管理:tsmmc.msc在xp系统中的使用
    更改Server 2008域用户密码策略
    Windows Server 2008 IIS7部署
    iis6中FTP配置的技巧和细节
  • 原文地址:https://www.cnblogs.com/william-dai/p/9480662.html
Copyright © 2011-2022 走看看