我从页面取到的值是 A1,A2,A3,A4,A5................不知道用户会输入多少 我怎么把这些数据保存到数组呢
总该有一个结束标记吧。。ps:什么语言?
String类的split方法可以使用给定的正则表达式分割字符串为字符串数组
Case:
String str = "A1,A2,A3,A4,A5";
String[] strArr = str.split(",");
String str = "A1,A2,A3,A4,A5";
String[] strArr = str.split(",");
这个方法好
要使用数组,就必须提前知道数组的大小。
在不知道数组大小的情况,使用数组是不可能的。只能采用动态分配内存的方法,先分析需要的数据的个数,再根据个数申请内存,最后完成数据的存贮、分析与处理。
页面往后台传值,大概有下面三种情况(以querystring为例,参考how to send a array in url request)
1. http://localhost:8080/MovieDB/GetJson?name=Actor1,Actor2,Actor3&startDate=20120101&endDate=20120505
1. http://localhost:8080/MovieDB/GetJson?name=Actor1&name=Actor2&name=Actor3&startDate=20120101&endDate=20120505
1. http://localhost:8080/MovieDB/GetJson?name[0]=Actor1&name[1]=Actor2&name[2]=Actor3&startDate=20120101&endDate=20120505
你的属于第一种情况,就是按其他各位说的,类似getParameterValues("name").split(",") (name为例子中querystring的一个key)。你之前不需要知道输了多少,但是在使用split的时候,就已经知道了。每一次用户输入之后,一旦到了后台,他的输入就已经结束了,你就可以知道数组的长度,但是每次用户输入的可以是不一样的,这就是你认为的动态不确定长度。
第二种情况下,getParameterValues("name")返回的本身的就是一个数组。
关键是自己写出来测试一下,这样才能知道有什么于自己预期的不一样,才能更好的寻找解决方法。