存储字符串格式的实用方法

时间:2017-06-02 19:26:41

标签: java formatting

假设我有一个接受表格形式的字符串的协议:

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 - 或任何长度的字符串。

1 个答案:

答案 0 :(得分:1)

我找到了一种实用的方法来构建消息格式。在这种情况下,最好使用构建器类来动态构造消息。 MESSAGE_FORMAT存储在构建器中。

我所做的是创建一个MessageBuilder类,其中包含慢慢填充所需数据的方法。对于那些不熟悉的人,这是builder设计模式。

例如:

String message = MessageBuilder()
    .displayValue(123)
    .lightColorOne(RED)
    .lightColorTwo(GREEN)
    .lightColorThree(BLUE)
    .build();

message >> "12T12T1234567890"