假设我有一个接受以下形式的字符串的协议(protocol):
static final String PROTOCOL_FORMAT = "%s%sT%s%sT%s%s%s%s%s%s%s%s%s%s";
其中每个 %s
指的是必须替换为格式才能完成消息的某些数据。
就我个人而言,我发现以这种字符串替换的形式存储格式非常难以阅读。有没有标准的方法来处理这样的事情?我怎样才能让这个更有表现力?我唯一能想到的就是将 PROTOCOL_FORMAT
抽象到它自己的类中。
编辑(使用示例):
String.format("%s%sT%s%sT%s%s%s%s%s%s%s%s%s%s",
data1,data2,data3...);
其中每个数据{n}都可以包含与其他数据不同的信息。
Output:12T12T1234567890
但是,最后一个 0
很容易是 99999999
- 或任意长度的任何字符串。
最佳答案
我找到了一种构建消息格式的实用方法。在这种情况下,最好使用构建器类来动态构建消息。 MESSAGE_FORMAT
存储在构建器中。
我所做的是创建一个 MessageBuilder
类,该类具有缓慢填充所需数据的方法。对于那些不熟悉的人来说,这就是builder
设计模式。
例如:
String message = MessageBuilder()
.displayValue(123)
.lightColorOne(RED)
.lightColorTwo(GREEN)
.lightColorThree(BLUE)
.build();
消息>>“12T12T1234567890”
关于java - 存储字符串格式的实用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44336123/