是这样的。
我用字符串定义异常信息,通常会包含多个 %s 。
然后我 用 String.format 来处理%s的意义
首先谢谢楼下的评论,抱歉各位,我讲的不是太清楚,我再仔细讲一下,我知道format是 变参。以下用实际例子来说明问题:
(1)我想编写一个通用方法,可接收多个参数,str是要匹配的字符串,args是参数列表
(2)我使用这个方法 getReturnMsg("%s already existing, %s taken","name1", "name2")
把参数传递进去!
(3)结果出错了
Format specifier '%s'
问题:原因应该是在fomat的时候只匹配了"name1",后面%s没匹配到就结束了,所以抛出错误,所以我应该怎样改写我的通用方法来适应多个参数呢???
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
你这个用不定参数类型可以解决,看一下String类的源码就知道了:
如果你想实现,即使参数不存在也能够正确输出或者默认输出,那你可以使用
template
模板技术或者placeholder
占位符。freemarker
velocity
org.apache.commons.lang3.text.StrSubstitutor
String.format的方法签名,第二个本身就是变参啊,可以传一个、多个或者0个。