gpt4 book ai didi

java - 如何在 Java 中表示大数字 ID?

转载 作者:行者123 更新时间:2023-12-01 07:21:59 25 4
gpt4 key购买 nike

在我的国家/地区,我们使用 11 位数字作为国家 ID。哪个选项更适合用 Java 表示它们,long 还是 String(或者其他选项,如果有更合适的话)?

国家ID不会进行任何算术计算,但如果我们使用字符串,则需要检查它是否是数字。在这两个选项中,都需要根据某些规则进行检查,例如:

  • 不会从零开始
  • 正好 11 位数字
  • 一些算法,例如(第一位数字 + 最后一位数字)/10 等于第三位数字等。

此外,它们将在 REST api 调用中使用,因此可能有很多请求涉及它们(序列化-反序列化-验证等)。

**关于第 3 条的澄清:我对算术计算的意思是,不会有像 (id * 2/3) + 10 之类的东西。算法只是一堆检查用户输入的规则,而不是每次都询问政府网络服务。

最佳答案

这里有两个单独的问题:

  • Java 代码:我会将 ID 的概念封装在自己的类中 - 一旦完成,您就可以选择您认为更好的任何内部表示形式,甚至可以在以后更改它
  • 序列化:您提到了 REST - 它是一种文本格式,因此 REST 消息将包含字符串表示形式

类似于:

class Id {
//internal representation
long id;
//or
String id;

//public methods
String getIdAsString();

//factory or use constructors
static Id of(String id) //include validation code
static Id of(long id); //include validation code
}

关于java - 如何在 Java 中表示大数字 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34161525/

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