Преобразовать Java-массив в массив, используя для цикла

Я просмотрел много подобных тем здесь, ни одна не позволила мне решить:

 //how to Convert this arraylist to array string using loop

public static void main(String[] args) 
{   
Main m = new Main();
List<JSONObject> jObj = m.getJsonObject();
for (int i = 0; i < jObj.size(); i++) 
    {
    System.out.println(jObj.get(i));
    }
 }  

Много примеров, которые я видел, все создают список массивов, добавляя в код, у меня уже есть arrayList. Мне просто нужно изменить его как строку массива, а не как arrayList, чтобы я мог правильно отформатировать его как строку JSON с

String responseStr = "{\"data\":" + 

Вот весь боб:

package com.queryData.main;

import com.queryData.dao.DataDAO;
import com.queryData.services.JsonServices;
import java.sql.ResultSet;
import java.util.List;
import org.json.JSONObject;

public class Main {
    ResultSet resultSet = null;
    DataDAO datadao = new DataDAO();

    public List<JSONObject> getJsonObject()
    {
        resultSet = datadao.getResultSet();
        List<JSONObject> resList = JsonServices.getFormattedResult(resultSet);      
        return resList;
    }
    //how to Convert this arraylist to array string using loop

    public static void main(String[] args) 
    {   
    Main m = new Main();
    List<JSONObject> jObj = m.getJsonObject();
    for (int i = 0; i < jObj.size(); i++) 
        {
        System.out.println(jObj.get(i));
        }
     }
}

Я попробовал следующий код, но он не работает.

package com.queryData.main;

import com.queryData.dao.DataDAO;
import com.queryData.services.JsonServices;
import java.sql.ResultSet;
import java.util.List;
import org.json.JSONObject;

public class Main {
    ResultSet resultSet = null;
    DataDAO datadao = new DataDAO();

    public List<JSONObject> getJsonObject()
    {
        resultSet = datadao.getResultSet();
        List<JSONObject> resList = JsonServices.getFormattedResult(resultSet);      
        return resList;
    }
    //how to Convert this arraylist to array string using loop

    public static void main(String[] args) 
    {   
    Main m = new Main();
    List<JSONObject> jObj = m.getJsonObject();
    for (int i = 0; i < jObj.size(); i++) 
        {
        //System.out.println(jObj.get(i));
        }

    String[] stringArr = jObj.toArray( new String[] {} );
    for ( String element : stringArr ) {
        System.out.println( element );


     }
    }   
}

Любые предложения с благодарностью. Спасибо

3 ответа

Решение

Используйте StringBuilder для построения String:

List<Object> jObj = m.getJsonObject();
StringBuilder sb = new StringBuilder();
for(int i =0 ; i < jObj.size(); i++){
   sb.append(jObj.get(i).toString());
}

в заключение sb.toString() будет вашей желаемой строкой.

Я не уверен, что мы можем сделать это, используя цикл for. Но если вы хотите без цикла for. Мы можем сделать:

          ArrayList<Integer> arrayList5=new ArrayList<Integer>();
    arrayList5.add(1000000);
    arrayList5.add(2000000);
    
    //the final array created with the help of toArray
//is of Object type hence create an array first and then pass it as argument
        Integer[] array5=new Integer[arrayList5.size()];
        arrayList5.toArray(array5);
        
//print the array
        for(Integer i: array5) {
            System.out.println(i);
        }
        

Вы можете внести некоторые изменения: список поддерживает трюк, как

List<Object> jObj = m.getJsonObject();
for(int i =0 ; i < jObj.size(); i++){
   jObj.add(jObj.get(i).toString(), i); // change toString() to whatever u need
}
Другие вопросы по тегам