Java常用占位符方法简单代码实例

 更新时间:2024年01月20日 10:32:42   作者:Q_喵星人  
占位符是Java中常用的技术,用于在字符串中插入变量值或动态生成字符串,这篇文章主要给大家介绍了关于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常用占位符方法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • AspectJ的基本用法

    AspectJ的基本用法

    本文主要介绍了AspectJ的基本用法。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-04-04
  • Java详细讲解分析双指针法的使用

    Java详细讲解分析双指针法的使用

    严格的来说,双指针只能说是是算法中的一种技巧。双指针指的是在遍历对象的过程中,不是普通的使用单个指针进行访问,而是使用两个相同方向(快慢指针)或者相反方向(对撞指针)的指针进行扫描,从而达到相应的目的
    2022-04-04
  • SpringBoot升级3.2报错Invalid value type for attribute ‘factoryBeanObjectType‘: java.lang.String的解决方案

    SpringBoot升级3.2报错Invalid value type for 

    这篇文章给大家介绍了SpringBoot升级3.2报错Invalid value type for attribute ‘factoryBeanObjectType‘: java.lang.String的解决方案,文中有详细的原因分析,需要的朋友可以参考下
    2023-12-12
  • Java动态代理的示例详解

    Java动态代理的示例详解

    动态代理指的是,代理类和目标类的关系在程序运行的时候确定的,客户通过代理类来调用目标对象的方法,是在程序运行时根据需要动态的创建目标类的代理对象。本文将通过案例详细讲解一下动态代理,需要的可以参考一下
    2022-02-02
  • 详解json在SpringBoot中的格式转换

    详解json在SpringBoot中的格式转换

    这篇文章主要介绍了详解json在SpringBoot中的格式转换,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Java的List集合中泛型使用详解

    Java的List集合中泛型使用详解

    这篇文章主要介绍了Java的List集合中泛型使用详解,泛型类,如果没有指定具体的数据类型,此时,操作类型是Object,泛型的类型参数只能是类类型,不能是基本数据类型,需要的朋友可以参考下
    2023-12-12
  • Java超详细讲解三大特性之一的多态

    Java超详细讲解三大特性之一的多态

    多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量到底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定
    2022-05-05
  • SpringBoot时区问题解决以及彻底解决时差问题

    SpringBoot时区问题解决以及彻底解决时差问题

    这篇文章主要给大家介绍了关于SpringBoot时区问题解决以及彻底解决时差问题的相关资料,spring boot作为微服务简易架构,拥有其自身的特点,快速搭建架构,简单快捷,需要的朋友可以参考下
    2023-08-08
  • IntelliJ IDEA全局内容搜索和替换教程图解

    IntelliJ IDEA全局内容搜索和替换教程图解

    很多朋友在做项目时,会在整个项目里活指定文件夹下进行全局搜索和替换,下面小编给大家带来了IntelliJ IDEA全局内容搜索和替换教程图解,需要的朋友参考下吧
    2018-04-04
  • Java线程池队列LinkedTransferQueue示例详解

    Java线程池队列LinkedTransferQueue示例详解

    这篇文章主要为大家介绍了Java线程池队列LinkedTransferQueue示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12

最新评论