如何在java android中的字符串中动态存储值?

时间:2012-04-14 04:54:51

标签: android

在我的项目中,我需要将值动态存储在字符串中,并且需要使用“,”将该字符串拆分。我怎样才能做到这一点 ?请帮帮我..

我的代码:

static ArrayList<ArrayList<String>> listhere;
ArrayList<String> arropids;
String arropids1; 


    for(int q=0;q<listhere.size();q++)
                {
                  arropids = listhere.get(q);

                  if(arropids.get(3).equals("1"))
                  {
                      arropids1 += arropids.get(0) + ","; 


                  System.out.println("arropids1"+arropids1);

                }
                } 

2 个答案:

答案 0 :(得分:2)

您必须获取NullPointerException,因为您尚未初始化String,将其初始化为

String arropids1="";

它将解决您的问题,但我不推荐String用于此任务,因为String是Immutable类型,您可以使用StringBuffer来实现此目的,因此我建议使用以下代码:

static ArrayList<ArrayList<String>> listhere;
ArrayList<String> arropids;

StringBuffer buffer=new StringBuffer();

    for(int q=0;q<listhere.size();q++)
                {
                  arropids = listhere.get(q);

                  if(arropids.get(3).equals("1"))
                  {
                      buffer.append(arropids.get(0));
                      buffer.append(","); 


                  System.out.println("arropids1"+arropids1);

                }
                }

最后通过以下方式从该缓冲区中获取String:

 String arropids1=buffer.toString(); 

答案 1 :(得分:0)

为了在将for parse存储到for循环中后拆分结果,可以对存储的字符串使用split方法,并将其设置为等于字符串数组,如下所示:

static ArrayList<ArrayList<String>> listhere;
ArrayList<String> arropids;
String arropids1 = ""; 


for(int q=0;q<listhere.size();q++) {
              arropids = listhere.get(q);

              if(arropids.get(3).equals("1"))
              {
                  arropids1 += arropids.get(0) + ","; 


              System.out.println("arropids1"+arropids1);

              }
      }
      String[] results = arropids1.split(",");
      for (int i =0; i < results.length; i++) {
           System.out.println(results[i]);
      }

我希望这就是你要找的东西。