我想从列表中检索值。但我无法从列表中获取值。我将从另一个类调用此方法,方法是将值传递给该方法并将其添加到数组列表中。现在,当我尝试检索该值时,什么也没有返回。
public class No
{
private double km;
private String stringvalue;
List<String> k1=new ArrayList();
List<String> k2=new ArrayList();
public void clusterform(int i,String km1,String km2)
{
int val1=km1.length();
int val2=km2.length();
int centroid=i;
if(val1>centroid)
{
if(val1>val2)
{
k1.add(km1);
k2.add(km2);
System.out.println("hi");
}
else
{
k2.add(km1);
}
}
else
{
k2.add(km1);
k1.add(km2);
}
No n=new No ();
n.call();
}
public void call()
{
Iterator getv = k1.iterator();
while(getv.hasNext())
{
System.out.println(getv.next());
}
}
}
最佳答案
原因是这一行:
No n=new No ();
n.String();
这正在创建 No
的新对象有其ArrayList
k1
以这样的方式初始化,其大小为 0
。所以n.String()
方法不打印任何内容。您应该调用 String()
直接方法,无需通过以下方式创建对象:
String()
作为旁注,我建议您坚持使用 java 命名约定。例如,方法名称应以小写字母开头。类名应以大写字母开头。还有很多。看看这个official tutorial详细了解java命名约定。
关于java - 我无法从列表中检索数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16267887/