日期:2014-05-17  浏览次数:20643 次

java 中有没有类似string.join()
C#:
string [] tmpStr={abc,def,ghi};

string jn = string.Join("-", tmpStr);

此时jn="abc-def-ghi";


------解决方案--------------------
没有,你可以自己写个方法
有一个方法类似,但是不能指定连接的字符
Arrays.toString(Object[])
输出形式为:[object[0],object[1],object[2]...,]

------解决方案--------------------
Java的标准库里面没有类似这样的函数,不过你完全可以自己实现一个,提高效率就用StringBuffer实现
Java code

import java.util.ArrayList;
import java.util.List;

public class StringBuilderDemo1 {

    public static String join(String join,String[] strAry){
        StringBuffer sb=new StringBuffer();
        for(int i=0;i<strAry.length;i++){
             if(i==(strAry.length-1)){
                 sb.append(strAry[i]);
             }else{
                 sb.append(strAry[i]).append(join);
             }
        }
       
        return new String(sb);
    }

    public static void main(String[] args){

        String[] sa={"a","b","c"};
        String s1=StringBuilderDemo1.join("-",sa);
        System.out.println(s1);

    }
}

------解决方案--------------------
Apache Commons组件中有一个commons-lang.jar,用StringUtils.join(array, "-")就可以了,我经常用