java: конструктор строк

#java #stringbuilder

#java #stringbuilder

Вопрос:

Я хочу добавить , к StringBuilder, если переменная a меньше длины массива.
Я каждый раз увеличиваю переменную a и использую следующий код:

 for(int n=0;n<fieldMap.length();n  )
{
    int a=0;
    JSONObject object = fieldMap.getJSONObject(n);              
    String type= object.getString("type");
    String name= object.getString("name");

    createTable.append(name  " ");
    createTable.append(type);
    a  ;

    if(!(a==(fieldMap.length()-1))) {
        createTable.append(",");
    }                       
}
  

Но он также добавляется , в конце, чего я не хочу. Как я могу решить эту проблему?

Спасибо

Комментарии:

1. Также лучше добавлять без проверки и удалять запятую после цикла, вы можете повысить производительность

Ответ №1:

Инициализировать a вне цикла for:

 int a=0;
for(int n=0;n<fieldMap.length();n  ){
  

Или просто используйте n вместо a .

Вы также можете немного упростить свою логику, написав сначала запятую:

  for(int n=0; n < fieldMap.length(); n  ){
     JSONObject object = fieldMap.getJSONObject(n);             
     String type = object.getString("type");
     String name = object.getString("name");

     if (n != 0) {
         createTable.append(",");
     }
     createTable.append(name   " ");
     createTable.append(type);
}