我对Gson将集合更改为Json对象有问题。这是我的代码:
Collection<BomItem> items = bh.getAllItems();
Iterator<BomItem> itemIterator = items.iterator();
Collection<JsonItem> jsonItems = new Vector<JsonItem>();
JsonItem jsonItem = new JsonItem();
while(itemIterator.hasNext()) {
BomItem item = itemIterator.next();
jsonItem.setItemId(item.getItemId());
jsonItem.setName(item.getDescription());
jsonItems.add(jsonItem);
}
System.out.println("json size:" + jsonItems.size());
Gson gson = new Gson();
String json = gson.toJson(jsonItems);
System.out.println("Json: " + json);
这是输出:
09:36:13,846 INFO [STDOUT] json size:402
09:36:13,849 INFO [STDOUT] Json: [{"itemId":68073,"name":"Automatically inserted"},{"itemId":68073,"name":"Automatically inserted"},{"itemId":68073,"name":"Automatically inserted"},...}
JsonString会被创建,但只会使用最新的对象一次又一次地创建。我做错了什么?
while(itemIterator.hasNext()) {
BomItem item = itemIterator.next();
//declare jsonitem inside the loop
JsonItem jsonItem = new JsonItem();
jsonItem.setItemId(item.getItemId());
jsonItem.setName(item.getDescription());
jsonItems.add(jsonItem);
}
您不能在循环中重新实例化jsonItem,这意味着您正在一次又一次地添加对可变对象的相同引用。因此,这些值始终是集合中最后一个对象的值。
Movejsonim jsonim=new jsonim()
在while循环中。
我按照教程的说明创建了一个新项目,在指定的位置更改了两个文件的名称。当我尝试运行它时,AS窗口底部的日志文件显示: 检索项的父项时出错:找不到与给定名称“Android:TextPapearance.Material.Widge.Button.Inverse”匹配的资源。 错误:(2)检索项的父项时出错:找不到与给定名称'Android:Widget.Material.Button.Colored
我使用的事件系统基于这个问题中的建议:在Java中创建自定义事件 我在一个组件中实现了它,以从组件上的按钮处理和传递事件。我将组件放入它自己的jar文件中。然后我在另一个项目中使用了组件和jar文件,当我试图运行用它创建的程序时,它给了我以下错误: Java . lang . illegalaccessexception:类事件。EventHandler无法使用修饰符“public”访问类outf
问题内容: -edit2-3小时后,仍然有相同的问题。我正在使用noinstall存档软件包。-编辑-也许有人可以告诉我一种检查表是否存在的更好方法? 我的函数库中有一个函数来检查是否存在一个表,该表过去我曾问过要怎么做。 我删除了数据库并再次创建了它。我的代码未正确创建表。调试后,我决定编写以下内容。 很奇怪… mydb被删除并再次创建(我写了,应该消失了吗?)。让我们找出存在的东西 我不仅不知
我在尝试编译控制台游戏时遇到了一个问题,控制台向我显示 线程“main”java中出现异常。错误:未解决的编译问题:在Pytania。main(Pytania.java:6) 第6行是public static void main(String[]args),很遗憾,我没有看到失败:( 我使用Eclipse,谢谢你的回答:) 这会帮我很大的忙,谢谢!:)
反斜杠的麻烦 在早期规定中,正则表达式用反斜杠字符 ("\") 来表示特殊格式或允许使用特殊字符而不调用它的特殊用法。这就与 Python 在字符串中的那些起相同作用的相同字符产生了冲突。 让我们举例说明,你想写一个 RE 以匹配字符串 "\section",可能是在一个 LATEX 文件查找。为了要在程序代码中判断,首先要写出想要匹配的字符串。接下来你需要在所有反斜杠和其它元字符前加反斜杠来取消
问题内容: 我正在学习Python,但遇到了一些问题。在我正在学习的课程中看到类似内容后,想出了这个简短的脚本。在成功使用之前,我已经将“或”与“ if”一起使用了(此处显示不多)。由于某种原因,我似乎无法正常工作: 但这很好用: 或条件可能不适用于此处。但是我已经尝试过,等等。我希望有一种方法可以使它接受一个或多个猴子,而其他所有东西都会触发精灵。 问题答案: 大多数编程语言中的布尔表达式不遵循