I need to make a simple code, which get a string, and an array of String, and  replace the ? signs with each element of array.
Here is the test case in junit:
@Test
    public void QueryFitterTest() {
        ArrayList<String> args=new ArrayList<String>(); 
        args.add("Bad code");
        args.add("The code is buggy");
        String res = QueryMaker.queryFitter("insert into  vulnerability (name,descirption) values(?,?)",args);
        String correctQuery="insert into  vulnerability (name,descirption) values(Bad code,The code is buggy)";
        assertEquals(correctQuery, res);
    }
and here is the code:
public static String queryFitter(String query, ArrayList<String> args){
    String[] colapsedQuery = query.split("");
    int parmNum=0;
    for(int i=0;i<colapsedQuery.length;i++){
        if(colapsedQuery[i]=="?"){
            colapsedQuery[i]=args.get(parmNum);
            parmNum++;
        }
    }
    query=concatenator(colapsedQuery);
    return query;
}
public static String concatenator(String[] colapsedQuery){
    String delimiter = "";
    String result = String.join(delimiter, colapsedQuery);
    System.out.println("query is: "+result);
    return result;
}
The code is working fine but
I don't like my approach, is there an easier way to do it?
 
    