在我的项目中,我需要将值动态存储在字符串中,并且需要使用“,”将该字符串拆分。我怎样才能做到这一点 ?请帮帮我..
我的代码:
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);
}
}
答案 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]);
}
我希望这就是你要找的东西。