我使用以下代码
创建一个JSON对象while(true){
JSONObject checks = new JSONObject(jsonString);
}
我如何使用这个JSON对象而不是每次都创建一个新对象。例如,我可以像下面那样做一个hashmap
HashMap h =new Hashmap
while(true){
h.add("abc","pwr");
h.clear();
}
答案 0 :(得分:0)
正如您所说,您使用此实现https://github.com/stleary/JSON-java/blob/master/JSONObject.java
您可以迭代其键
Iterator<String> entryIter = jsonObject.keys();
while (entryIter.hasNext()) {
jsonObject.remove(entryIter.next());
}
但是,说实话,我认为它不会更好。
答案 1 :(得分:0)
JSONObject是普通的java对象,你不能应用hashmap逻辑来清除。因为,Hashmap用于存储项目/对象/任何东西的集合。从集合中,您可以清除或断开其相关项的引用。不适用于普通物体。
对于您的情况,您可以在while循环之外定义JSONObject实例,并重用如下所示的对象。
JSONObject checks = null;
while(true){
checks = new JSONObject(jsonString);
}
对于每次迭代,旧对象将符合GC [垃圾收集]和一般GC算法处理内存和放大器的资格。性能