String.format() 方法详解

String.format() 方法详解

场景:我们在实际开发中很多字符串以及数字等等格式都是需要动态改变的,即不同用户某些地方展现出不同的数据。这个时候我们就需要用到字符串格式化。这时候就有疑问了,我们使用字符串拼接也是可行的,那为什么一定要使用字符串格式化呢?答案很简单:更加人性化,举个例子:

//展示的内容组成为:目录A(资源a)-目录B(b资源)
//普通的字串符拼接
responseDTO.setCatalogMessage(entity.getCatalogOne() + "(" + entity.getResourceOne() + ")-" + entity.getCatalogTwo() + "(" + entity.getResourceTwo() + ")");

//使用字符串格式化
responseDTO.setCatalogMessage(String.format("%s(%s)-%s(%s)", entity.getCatalogOne(), entity.getResourceOne(), entity.getCatalogTwo(), entity.getResourceTwo()))

后者在于能一目了然地知道你写的格式,能够更快读懂你想要干嘛。

String.format() 共有两个重载的方法,都是静态方法,可以直接 String.format() 调用:

方法声明功能介绍
static String format(String format, Object… args)使用指定的格式字符串和参数返回格式化字符串
static String format(Locale l, String format, Object… args)使用指定的语言环境,格式字符串和参数返回格式化的字符串
常用的占位符类型
转换符参数类型说明
%s字符串类型对字符串进行格式化输出,最常用,如:“我真真的是小白”
%c字符类型对字符进行格式化输出,如:‘a’
%d整数类型(十进制)对整数进行格式化输出,较常用,如:99
%x整数类型(十六进制)十六进制,如:DD
%o整数类型(八进制)八进制,如:66
%b布尔类型对布尔类型进行格式化输出,如:true 和 false
%f浮点类型对浮点数进行格式化输出,如:3.141500
%a十六进制浮点类型以十六进制输出浮点数,如:0x1.921fb4d12d84ap1
%e指数类型以科学计数法输出浮点数,如:3.141500e+00
%%百分比类型百分号本身
%n换行符换行符

其中最常用的即为 %s ,%d、%f 也较常用,其他在用的时候百度就行

String.format("%s来自%s, 在%s上学", "张三", "杭州", "杭州电子科技大学");// 张三来自杭州, 在杭州电子科技大学上学

String.format("error: code=%d,message=%s,url=%s", 500, "服务器内部错误", "localhost:8080/index.html");// error: code=500,message=服务器内部错误,url=localhost:8080/index.html

String.format("%c字母的后面是%c", 'a', 'b');// a字母的后面是b

String.format("%b是错误的,%b是正确的", false, true);// false是错误的,true是正确的

String.format("π约等于:%f", 3.1415);// π约等于:3.141500

String.format("十六进制π约等于:%a", 3.1415);// 十六进制π约等于:0x1.921cac083126fp1

String.format("科学计数法π约等于:%e", 3.1415);// 科学计数法π约等于:3.141500e+00

String.format("Hive数据库中like的用法为:%s like concat('%%','%s','%%')", "name", "张三");// Hive数据库中like的用法为:name like concat('%','张三','%')

String.format("换行%n");// 换行


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我真真的是小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值