栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

自动ID生成

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

自动ID生成

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

class students{    private static int next_id = 0;   // <-- static, class-wide counter    private int id;        // <-- per-object 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建议的那样,您可能希望使static计数器成为 atomic
,这意味着可以安全地同时使用(即一次在多个线程中使用)。为此,将类型更改为:

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"


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/574448.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号