需要您对操作和增加String的最佳解决方案的意见。
系统具有类似于"RE"、"MA"(系统定义)或任何用户定义的代码,将由多个实体使用。每个实体都需要与唯一的代码相关联;为此,我们需要给系统定义的代码加上序列号。
- RE1 随机字符串
- RE2公司
- RE3 随机字符串
- RE4
- MA1
- RE5
- MA2 等
以银行账户为例。假设所有帐户都与一个代码相关联。但是支票账户和现金账户代码需要分别是RE*和MA*格式。
- Checking Account1 -> RE1
- 检查Account2 -> RE2
- 现金账户1 -> MA1
- 现金账户2 -> MA2
- 信用卡帐户->随机字符串 等
现在,无论何时添加新实体,都需要根据类型确定要使用的下一个序列。在Java中解决这个问题的最好方法是什么?
不要使用数组。使用地图
Map<String, Index> prefixes = new HashMap<>();
prefixes.put("RE", 0 /* or whatever appropriate initial value */);
prefixes.put("MA", 0);
现在,当你创建一个新的实体时,只需这样做:
int nextIndex = prefixes.get("RE") + 1;
String value = "RE" + nextIndex;
prefixes.put("RE", nextIndex);