【发布时间】:2015-10-12 10:01:18
【问题描述】:
需要您对操作和递增字符串的最佳解决方案提出意见。
系统具有类似于“RE”、“MA”(系统定义)或任何用户定义的代码,这些代码将被多个实体使用。每个实体都需要关联唯一的代码;为此,我们需要在系统定义的代码后面加上序列号。
- RE1
- 随机字符串
- RE2
- RE3
- 随机字符串
- RE4
- MA1
- RE5
- MA2
- 等
例如考虑银行账户。假设所有帐户都与一个代码相关联。但特别是支票账户和现金账户代码需要分别采用 RE* 和 MA* 格式。
- 支票账户1 --> RE1
- 支票账户2 --> RE2
- 现金账户 1 --> MA1
- 现金账户 2 --> MA2
- 信用卡账户 --> 随机字符串
- 等
现在,每当我们添加新实体时,我们都需要根据类型确定要使用的下一个序列。在 Java 中解决这个问题的最佳方法是什么?
【问题讨论】:
-
维护一个计数器有帮助吗?
-
它不会因为每次系统上线时都必须初始化此计数器。此外,由于可以生成此代码的多个流程,引入同步可能有点麻烦
-
在这种情况下,我将获取数组中的最后一项并获取索引?
-
“数组”的目的是什么?您有一个或多个代码,例如“RE”,每个代码用于某个实体,还有一个计数器指示最后一个实际使用的代码。所以你有一个
Map<String,Integer>Serialize on shutdown 等等。一切都很简单。 -
更新了我的 qsn,因为没有固定的字符串。代码可以是任何字符串,具体取决于要与之关联的实体类型。
标签: java arrays string algorithm data-structures