gpt4 book ai didi

java - java中的自增id

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

第一队和第二队的 id 都是 0?我究竟做错了什么?我只是想在每次创建新对象时自动增加 id。

这是来自 Team.java

的代码
public class Team{
private int teamId;

public Team(){
this.teamId= teamId++;
}
public void printTeamId(){
System.out.println(this.teamId);
}
}

这是来自 Main.java

的代码
public class Main {

public static void main(String[] args) {

Team one= new Team();
Team two= new Team();
one.printTeamId();
two.printTeamId();
}
}

最佳答案

您需要一个额外的静态变量来存储团队数量。 static 表示所有对象共享这个变量。每个团队都有自己的变量 teamId,但共享变量 teamIdCounter

public class Team{
private int teamId;
private static int teamIdCounter = 0;

public Team(){
this.teamId= teamIdCounter++;
}
public void printTeamId(){
System.out.println(this.teamId);
}
}

如果您使用的是多线程,请查看有关如何使用 AtomicInteger 来计算线程安全的对象的其他答案。

关于java - java中的自增id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49111006/

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