Java常用占位符方法简单代码实例
Java中占位符指的是在字符串中预留一些特殊标记,用于将变量的值动态的插入到字符串中
1、%s : 字符串占位符,用于插入字符串类型的值
String name = "Kristen"; String str = String.format("Hello,%s!",name); System.out.println(str); //输出"Hello,Kristen!"
2、%d : 整数占位符,用于插入整数类型的值
int age = 20; String str = String.format("年龄:%d!"); System.out.println(str); //输出"年龄:20!"
3、%f : 浮点占位符,用于插入浮点类型的值
double height = 1.72; String str = String.format("身高:%f!"); System.out.println(str); //输出"身高:1.72!"
4、%b : 布尔值占位符,用于插入布尔值类型的值
boolean isTrue = true; String str = String.format("布尔值:%s!",isTrue); System.out.println(str); //输出"布尔值:true!" 在这个例子中,%s占位符被用于将布尔值转换为字符串并插入到格式化字符串中, 如果需要将布尔值格式化为其他特定的字符串表示形式, 可以使用条件语句或三元运算符来实现自定义的布尔值转换逻辑, 然后将结果作为字符串插入到格式化字符串中
附:巧用占位符
1、产品两个需求:
(1)某天产品来了个需求需要将短信变更不需要带xxx 先生/女士,内容变更为您好!您的尾号(567)的银行卡,余额是(10000)元
(2)某某天产品又来了个需求将短信内容变更为您好!您的余额是(10000)元的且尾号(567)的银行卡正在被消费
2、纵使当时心里有千万只草泥马在奔腾;奔腾过后还是得老老实实的改N个系统的N处代码,测试,发布上线;
(1)针对1中需求(1)需要将短信模版需要变更为 您好!您的尾号(%s)的银行卡,余额是(%s)元 而且短信变量变更为 567;10000
(2)针对1中需求(2)需要将短信模版需要变更为 您好!您的余额是(%s)元的且尾号(%s)的银行卡正在被消费 而且短信变量变更为 10000;567
3、有没有更好的解决方案那?在针对需求变更总结后发现,无非是在模版中改变变量的位置以及将变量的个数在减少;突然联想到占位符{n}
4、模版调整为{0} 先生/女士,您好!您的尾号({1})的银行卡,余额是({2})元
5、程序实现
public static void main(String[] args) { String mod = "{0} 先生/女士,您好!您的尾号({1})的银行卡,余额是({2})元"; String variable = "张三;567;10000"; String context = MessageFormat.format(mod, variable.split(";")); System.out.println(context); }
6、如何应对产品的需求
1中产品提到的需求(1),只需将模版调整为 您好!您的尾号({1})的银行卡,余额是({2})元
1中产品提到的需求(2),只需将模版调整为 您好!您的余额是({2})元的且尾号({1})的银行卡正在被消费
注:一般模版都会在数据库和缓存中存放,只需要更换一下数据库和缓存中的模版就OK了。
总结
到此这篇关于Java常用占位符方法的文章就介绍到这了,更多相关Java常用占位符方法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
SpringBoot升级3.2报错Invalid value type for
这篇文章给大家介绍了SpringBoot升级3.2报错Invalid value type for attribute ‘factoryBeanObjectType‘: java.lang.String的解决方案,文中有详细的原因分析,需要的朋友可以参考下2023-12-12Java线程池队列LinkedTransferQueue示例详解
这篇文章主要为大家介绍了Java线程池队列LinkedTransferQueue示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2022-12-12
最新评论