代码编织梦想

工作遇到一个问题,返回对象的参数需要固定定义在一个类中

     public static final BizCheckCode regular2 =
            new BizCheckCode("402002","%s:披露日期和预约日期不符,%s",
                              "warn", "regular-2", "定期报告2");
    String code;
    String message;
    String type;
    String columnCode;
    String columnValue;
    private BizCheckCode(String code, String message, String type, String columnCode, String columnValue) {
        this.code = code;
        this.message = message;
        this.type = type;
        this.columnCode = columnCode;
        this.columnValue = columnValue;
    public BizCheckCode copy() {
        return new BizCheckCode(this.code, this.message, this.type, this.columnCode, this.columnValue);
    }
    }

而不能使用类的构造器,这样保证定义的参数的原始值是不会被改变的。对于参数固定的情形是合理的,但是参数需要动态拼接的时候怎么办呢?
其实非常简单,利用类提供的copy方法,获得对象,然后得到具体的属性值进行修改。

        BizCheckCode copy = BizCheckCode.regular2.copy();
        copy.setMessage(String.format(copy.getMessage(), "浦发银行","请进行确认"));

这里没有使用传统的加号拼接String的方法,而是对属性需要替换的地方使用%s进行站位:”%s:披露日期和预约日期不符,%s”,使用String.format对占位符进行替换。做好这个方法很简单,但是没有用过就很难想到。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_37926633/article/details/127020888

Python入门的琐碎知识点-爱代码爱编程

python的数据类型:弱类型,类似js,直接定义即可,不需要像java一样指定int,string 字符串处理:python2注意编码问题,输出使用类似c的占位符: 占位符代表类型%d整数%f浮点数%s字符串%x十六进制整数>>> 'Hello, %s' % 'world''Hello, world' >>> 'Hi

android 中的占位符-爱代码爱编程

android中有三种占位符 详细说明请看这篇:java占位符使用 字符串 %s String.format(“你好,%s,”,“提莫”) //你好,提莫整型 %d String.format(“你好,%s,这是第 %d 次”,“提莫”,4) // 你好,提莫,这是第4次浮点型 %.3f (.3表示小数点3位) String.form

Python格式化字符串的三种方式-爱代码爱编程

1. 传统的格式化字符串 传统的格式化字符串指的是使用%d, %f等占位符的方式,类似于java或C语言中的标注输出函数的功能 name = 'tom' age = 20 weight = 74.78 # 在字符串内使用占位符%d %s %f等指定格式, 在字符串后面使用%向格式化字符串传递参数 s = 'hello %s, your age is %

JAVA字符串占位符使用-爱代码爱编程

分享知识 传递快乐 使用 replace 函数动态填充字符串 String str="Hello {0},我是 {1},今年{2}岁"; str = str.replace("{0}", "CSDN"); str = str.replace("{1}", "小猪"); str = str.replace("{2}", "12"); System.o

java占位符填充_java占位符%d,%s等的使用-爱代码爱编程

String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。熟悉C语言的同学应该记得C语言的sprintf()方法,两者有类似之处。format()方法有两种重载形式。 format(String format, Object... args) 新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字符串。 format

Java中占位符的实战运用-爱代码爱编程

java中的占位符,有以下几种等等: %s字符串类型的占位符 %b布尔类型的占位符 %d整数类型的占位符 %c字符类型的占位符 我们大多情况就只用前两种: 举个例子: /** * Created by xiwen on 2021/1/14 */ @Slf4j public class TestCode { public static v

java double 占位符_Java输出格式化之占位符-爱代码爱编程

JAVA和C#在占位符方面有些区别,C#提供的占位符是用{num}这种形式,Java需要用%s这种形式,不太习惯,经查发现MessageFormat提供了花括号占位符的功能。 【转自】https://blog.csdn.net/Mint6/article/details/78583316 在Java中貌似很少有占位符(placeholder)这个概

java常用占位符%d,%s等的使用;JAVA字符串格式化-String.format()的使用-爱代码爱编程

/** * @author Ryan.Li * @date 2022/1/11 **/ public class Demo { public static void main(String[] args) { // 1.%s 字符串类型 String string1 = String.format("你好呀,我

java字符串占位符%s-爱代码爱编程

字符串占位符%s 一、String.format二、MessageFormat.format 一、String.format 语法 : String.format(String format, Object… args); format:定义好的字符串 args:需要替换的字符 String format = String.format("

Java占位符的使用-爱代码爱编程

public class t7 { public static void main(String[] args) { // TODO Auto-generated method stub //Java占位符的使用 // %s 字符串类型 "mingrisoft" // %c 字符类型 'm' // %b 布尔类型 tr

Java文本通配符、%s占位符替换-爱代码爱编程

public static void main(String[] args) { String s="${name},你好!数智乐清门户的${module}栏目已超过${day}天未更新,请及时做好栏目信息更新工作。如已更新,请忽略本条信息。"; log.info("替换前:"+s); Map<Stri

java 打印占位符使用_千百元的博客-爱代码爱编程

System.out.println( String.format("发现修改 - 配置key: %s, 原来的值: %s, 修改后的值: %s,

使用java替换字符串占位符的几种方法_m0_67402125的博客-爱代码爱编程

import org.apache.commons.lang.text.StrSubstitutor; import java.text.MessageFormat; import java.util.HashMap; import java.util.Map; public class Test { public static void ma