You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Document类实例在构造时分配递升的ID编号

Document类自增ID实现方案

核心逻辑是通过类静态共享变量记录ID分配进度,每次构造实例时完成ID赋值与计数更新,代码实现逻辑如下:

Python 实现

class Document:
    # 类级别的静态计数变量,所有实例共享,初始值为0
    _next_assign_id = 0

    def __init__(self, content=""):
        # 给当前实例分配ID
        self.documentId = Document._next_assign_id
        # 计数+1,供下一个新实例使用
        Document._next_assign_id += 1
        # 其他文档属性初始化
        self.content = content

效果验证:

  • 首次实例化:doc0 = Document("首页内容"),doc0.documentId 输出为 0
  • 第二次实例化:doc1 = Document("分类页内容"),doc1.documentId 输出为 1
  • 后续实例按创建顺序依次递升

Java 实现

public class Document {
    // 静态共享计数变量
    private static int nextAssignId = 0;
    // 实例自有ID属性
    public int documentId;
    public String content;

    public Document(String content) {
        this.documentId = nextAssignId;
        nextAssignId++;
        this.content = content;
    }
}

多线程场景下需要对静态计数变量做并发安全处理:Python可配合threading.Lock加锁,Java可替换为AtomicInteger类型的计数变量,避免ID重复冲突。

内容的提问来源于stack exchange,提问作者Sue

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 21:24:04