假设我有一个接受表格形式的字符串的协议:
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
- 或任何长度的字符串。
答案 0 :(得分:1)
我找到了一种实用的方法来构建消息格式。在这种情况下,最好使用构建器类来动态构造消息。 MESSAGE_FORMAT
存储在构建器中。
我所做的是创建一个MessageBuilder
类,其中包含慢慢填充所需数据的方法。对于那些不熟悉的人,这是builder
设计模式。
例如:
String message = MessageBuilder()
.displayValue(123)
.lightColorOne(RED)
.lightColorTwo(GREEN)
.lightColorThree(BLUE)
.build();
message >> "12T12T1234567890"