java - 我无法从列表中检索数组值

标签 java arraylist iterator

我想从列表中检索值。但我无法从列表中获取值。我将从另一个类调用此方法,方法是将值传递给该方法并将其添加到数组列表中。现在,当我尝试检索该值时,什么也没有返回。

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/

相关文章:

java - 如何得到whenComplete和thenCompose的组合效果?

java - 如何使用 arrayList 在 Iterator 中实现 next()

python - 从迭代器外部将 StopIteration 发送到 for 循环

java - 如何在JAVA中调用构造函数时从列表中调用特定对象?

c++ - 如何从 multimap 的子集创建成对 vector ?

java - 在java文件中使用密码安全吗?

java - 如何销毁现有框架窗口的内存空间,同时在命令按钮中调用另一个框架

java - 如何在Java类中存储UUID字段?

java - ArrayList运行时错误

java - 如何在可扩展 ListView 适配器的 getChildView() 中增加和减少点击监听器中的计数值?