【发布时间】:2016-10-12 02:38:54
【问题描述】:
免责声明:我使用this Post,作为
List<Object>到List<String>和this Post 的JavaList<String>字符串到JavaScript 数组的参考。
我有List<Seat>,我想以逗号分隔的String 获取它的所有值,我尝试过这种方式
import java.util.*;
import java.lang.*;
class Rextester
{
public Rextester(){
Seat seat1 = new Seat();
seat1.setSeatNumber(1);
Seat seat2 = new Seat();
seat2.setSeatNumber(2);
Seat seat3 = new Seat();
seat3.setSeatNumber(3);
List<Seat> seatList = new ArrayList<Seat>();
seatList.add(seat1);
seatList.add(seat2);
seatList.add(seat3);
Utility util = new Utility();
String stringSeats = util.toJavascriptArray(seatList);
System.out.println("JavaScriptArray is " + stringSeats);
}
public static void main(String args[])
{
new Rextester();
}
private class Seat {
private Integer seatNumber;
public Integer getSeatNumber() {
return this.seatNumber;
}
public void setSeatNumber(Integer seatNumber) {
this.seatNumber = seatNumber;
}
public String toString() {
return ""+ seatNumber;
}
}
private class Utility {
public String toJavascriptArray(List<Seat> listSeats){
List<String> strings = new ArrayList<String>();
for (Seat object : listSeats) {
strings.add(object != null ? object.toString() : null);
}
String[] arr = new String[strings.size()];
arr = strings.toArray(arr);
StringBuffer sb = new StringBuffer();
sb.append("[");
for(int i=0; i<arr.length; i++){
if(i+1 < arr.length){
sb.append(",");
}
}
sb.append("]");
return sb.toString();
}
}
}
但这给了我
JavaScriptArray is [,,]
在控制台上,我犯了一些错误吗?在线工作代码是http://rextester.com/NDUGT61105
【问题讨论】:
-
一切都是正确的......除了
toJavascriptArray(List<Seat> listSeats)方法中的事实......你没有在其中附加字符串......只是一个逗号 -
所以在里面添加这个...
sb.append(arr[i]);