java - 节点在列表中复制自身

标签 java list

public class Locations
{
    public static int LocationInArr;
    public static int LocInHeap;
    public static Locations getNext=null;

    public Locations(int a,int b)
    {
        this.LocationInArr=a;
        this.LocInHeap=b;
    }

    public static int getLocationInArr()
    {
        return LocationInArr;
    }

    public static int getLocInHeap()
    {
        return LocInHeap;
    }

    public static Locations getNext()
    {
        return getNext;
    }
  }

在另一个文件中:

for(i=0;i<size;i+=2)
{
    a=(Heap.length/k)*(i/2);
    Locations L = new Locations(a,0);
    add(L);
}

上面的 for 循环位于另一个类中,它用作 Location 类的列表。由于某种原因,当我尝试打印列表时,我创建的列表中的所有节点都包含相同的信息。

我认为上面代码中的一个或多个地方存在根本问题。有什么想法吗?

编辑:

静态私有(private)节点头= null;

 static public void add(Locations a)
 {
     Node <Locations> pos = new Node <Locations> (a);
     if(head == null)
     {
         head = pos;
         pos.setNext(null);
     }
     else
     {
         pos.setNext(head);
         head = pos;
     }

最佳答案

您已将所有变量和方法标记为静态。摆脱它。 static 意味着所有实例共享它们的变量,而不是获取它们自己的副本。

关于java - 节点在列表中复制自身,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30195518/

相关文章:

java - Swing 按钮和 FillRect

java - 视频培训计划

java - 无法在 Android 10 中创建目录

java - 在列表中的项目之间添加项目的最简单方法

java - 无论设备屏幕大小如何,如何获取添加 View 的位置 X、Y

Java国际象棋 : Method to check if player in check not working properly

python - 如果存在子字符串,则从元组中删除项目

python - 将嵌套列表中的每个元素乘以一个常量

Python - 将两个列表合并为一个 json 对象

c# - 序列化包含 List<Object> 的类