gpt4 book ai didi

java - 相同的元素被插入到java中的LinkedList中

转载 作者:行者123 更新时间:2023-11-29 03:29:00 25 4
gpt4 key购买 nike

当我创建一个 LinkedList 并插入一个新元素时,每次都会插入新元素,但是当我将元素出列时,我只会插入最后一个元素。我的代码在 JAVA 中是这样的。

import java.io.*;
import java.util.*;
import java.lang.*;
public class Main {
public static void main(String[] args) throws IOException {
int i,j,k,l,m,n,t;
LinkedList q = new LinkedList();
arc c = new arc();
c.start = 1;
c.end =1 ;
q.add(c);

arc d = new arc();
d.start = 2;
d.end = 2;
q.add(d);

arc a1 = (arc) q.get(0);
arc a2 = (arc) q.get(1);
System.out.println(a1.start);
System.out.println(a2.start);
}
public static class arc
{
public static int start;
public static int end;
}
}

所需的输出是 1 和 2,但我得到的是 2 和 2。有人可以帮我解决这个问题吗?谢谢。

最佳答案

因为你在arc中设置静态变量。静态变量是类变量,而不是实例变量。所以 arc 的所有实例都会为类变量赋予相同的值。

试试这个:

public static class arc
{
public int start;
public int end;
}

实际上相同的元素没有被插入到列表中,两个不同的元素(实例)被插入到列表中,但是您正在从两个实例中打印类变量值。

关于java - 相同的元素被插入到java中的LinkedList中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19378720/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com