我正在尝试使用libVirt创建活动虚拟机列表,并使用它们填充组合框 不幸的是,有些事情还不错
public ArrayList<String> getActiveVirtualMachines() throws LibvirtException
{
int[] vmsOn = connect.listDomains();
Domain array=null;
vmsWl.clear();
System.out.println("List of running vms: ");
for (int i = 0; i < vmsOn.length; i++)
{
array = connect.domainLookupByID(vmsOn[i]);
vmsWl.add(array.getName());
}
for (int i = 0; i < vmsWl.size(); i++) {
System.out.println(vmsWl);
}
return vmsWl;
}
列表如下所示:
正在运行的vms列表:
[Ubuntu,testNew2]
[Ubuntu,testNew2]
相反: 正在运行的vms列表:
Ubuntu的
testNew2
与组合框相同的故事有2个相同的条目:
[Ubuntu,testNew2] [Ubuntu,testNew2]
答案 0 :(得分:0)
似乎当您在列表上进行迭代时,您将打印整个列表,而不仅仅是您需要的特定元素,因此请考虑替换
for (int i = 0; i < vmsWl.size(); i++) {
System.out.println(vmsWl);
}
与
for (int i = 0; i < vmsWl.size(); i++) {
System.out.println(vmsWl.get(i));
}
甚至更好:
for (String name : vmsWl) {
System.out.println(name);
}