[英]Characters Being Added To List<String>
我有一个名为dbData的列表和两个名为infoSB和historySB的StringBuilder。 我已经调试了项目,并且两个StringBuilder拥有了它们应该具有的所有数据,但是由于某种原因,它还向数据中添加了一些随机字符。 我添加数据所要做的就是下面的代码:
dbData.add(infoSB.toString());
dbData.add(historySB.toString());
要添加的字符是[]和,
有没有人遇到过这个问题,并且知道如何避免这样做?
更新:这是我获取数据并将其分配给StringBuilder的方式。
JSONObject json_data = jArray.getJSONObject(i);
double altitudeData = json_data.getDouble("altitude");
double altitudeInFeet = altitudeData * 3.281;
historySB.append("Altitude: " + df.format(altitudeInFeet) + "ft\n");
这些字符位于字符串的开头和结尾吗,中间是逗号吗? 这就是List
的toString
方法要做的。
如果您有三个要素的清单
然后,列表将创建以下字符串[car, van, bike]
。 []
表示列表的开头和结尾,逗号表示元素之间的边界。
如果只想连接字符串,请使用+
运算符或StringBuilder
/ StringBuffer
。
例如。
String data = infoSB + historySB;
-首先检查您的data source
,它们是否带有您收到的某种奇数字符。
-我希望那些什么StringBuilder
持有不是JSON
,我怀疑它,因为你得到[]
和,
在你StringBuilders,所以如果它你需要先分析它们,然后需要检索所需的特定数据....
-您可以使用trim()
方法避免任何悬空的空格
例如:
dbData.add(infoSB.toString().trim());
dbData.add(historySB.toString().trim());
////////////////// Edited Part //////////////////////
DecimalFormat df = new DecimalFormat("##.###");
String altitudeData = json_data.getString("altitude");
double altitudeInFeet = Double.parseDouble(altitudeData) * 3.281;
historySB.append("Altitude: " + df.format(altitudeInFeet) + "ft\n");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.