Convert String[] to comma separated string in java

后端 未结 23 2042
暖寄归人
暖寄归人 2020-11-29 22:40

i have one String[]

String[] name = {\"amit\", \"rahul\", \"surya\"};

i want to send name as parameter in sql query inside IN

相关标签:
23条回答
  • 2020-11-29 23:21

    This my be helpful!!!

    private static String convertArrayToString(String [] strArray) {
                StringBuilder builder = new StringBuilder();
                for(int i = 0; i<= strArray.length-1; i++) {
                    if(i == strArray.length-1) {
                        builder.append("'"+strArray[i]+"'");
                    }else {
                        builder.append("'"+strArray[i]+"'"+",");
                    }
                }
                return builder.toString();
            }
    
    0 讨论(0)
  • 2020-11-29 23:22

    In java 8 for none string array and none primitive object (Long, Integer, ...)

    List<Long> ids = Arrays.asList(1l, 2l,3l);
    ids.stream().map(String::valueOf).collect(Collectors.joining(","))))
    

    In java 8 for specific field of an objets array (example a car with 2 fields color and speed)

    List<Car> cars= Cars.asList(car1, cars2,car3);
        cars.stream().map(Car::getColor).collect(Collectors.joining(","))))
    

    Combine map with valueOf for none String field of an array of objects

    0 讨论(0)
  • 2020-11-29 23:25

    You can also use org.apache.commons.lang.StringUtils API to form a comma separated result from string array in Java.

    StringUtils.join(strArr,",");

    0 讨论(0)
  • 2020-11-29 23:26

    Nice and simple: but java8 required!

    String result = String.join(",", names);
    
    0 讨论(0)
  • 2020-11-29 23:26

    use StringBuilder and iterate over your String[], and append each String into it:

    public static String convert(String[] name) { 
        StringBuilder sb = new StringBuilder();
        for (String st : name) { 
            sb.append('\'').append(st).append('\'').append(',');
        }
        if (name.length != 0) sb.deleteCharAt(sb.length()-1);
        return sb.toString();
    }
    
    0 讨论(0)
  • 2020-11-29 23:26

    here is a Utility method to split an array and put your custom delimiter, using

    String.replace(String,String)
    Arrays.toString(Object[])
    

    here it is :

    public static String toString(String delimiter, Object[]array){
        String s = "";
    
        // split array
        if (array != null && array.length > 0) {
            s = Arrays.toString(array).replace("[", "").replace("]", "");
        }
    
        // place delimiter (notice the space in ", ")
        if(delimiter != null){
            s = s.replace(", ", delimiter);
        }
    
        return s;
    }
    

    change the second argument type to suite your array type

    0 讨论(0)
提交回复
热议问题