java 生成id_java – 自动生成id

您需要一个静态类成员来跟踪上次使用的索引.一定要实现一个复制构造函数:

class students

{

private static int next_id = 0; //

private int id; //

private String name;

public students(String name)

{

this.id = ++students.next_id;

this.name = name;

// ...

}

public students(students rhs)

{

this.id = ++students.next_id;

this.name = rhs.name;

// ...

}

public static void reset_counter(int n) // use with care!

{

students.next_id = n;

}

// ...

}

更新:正如@JordanWhite建议的那样,您可能希望使静态计数器成为原子,这意味着它可以安全地同时使用(即一次使用多个线程).为此,请将类型更改为:

private static AtomicInteger next_id = new AtomicInteger(0);

增量和读操作以及重置操作变为:

this.id = students.next_id.incrementAndGet(); // like "++next_id"

students.next_id.set(n); // like "next_id = n"

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值