首页 / JAVA / java-使用参数更新字符串
java-使用参数更新字符串
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java-使用参数更新字符串,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1303字,纯文字阅读大概需要2分钟。
内容图文
![java-使用参数更新字符串](/upload/InfoBanner/zyjiaocheng/669/67135921559c411b8c4206883997e1d7.jpg)
我在Java 8中使用Spring.
我有一个带有参数的字符串,我不确定应该如何通过参数列表更新参数.
String message = "Today is {0} and {1} is happy";
List<String> params = Arrays.asList("Sunday", "Uri", "Dan");
我想知道我应该使用哪个运算符来获取:
String newMessage = "Today is Sunday and Uri is happy.";
谢谢
解决方法:
尽管您对自己的确切要求有准确的答案.但是MessageFormat非常危险,并且在必须重复值替换的地方不够灵活.因此,例如,您需要输出字符串,因为今天是星期天,而Uri很高兴.而且,Uri今天也要参加聚会.
现在,MessageFormat代码如下所示:
String message = "Today is {0} and {1} is happy. Also, {2} is going to party today.";
List<String> params = Arrays.asList("Sunday", "Uri", "Uri");
String result = MessageFormat.format(message, params.toArray());
这是一个有风险的代码,原因如下:
>如果您实际上在字符串本身中需要诸如{test}或{}之类的东西怎么办?它会失败.
>对于重复值,您必须使用重复的条目来管理数组并确保顺序正确.
>如果字符串增长,这实际上是不可读的.
因此,更好的解决方案是使用StrSubstitutor,如下所示:
String template = "Today is ${day} and ${name} is happy";
Map<String, String> data = new HashMap<>();
data.put("day", "Sunday");
data.put("name", "Uri");
System.out.println(StrSubstitutor.replace(template, data));
注意,如何替换命名值.就像在之间选择?或SQL查询中的命名参数.
StrSubstitutor来自log4j框架.
因此,请根据您的需要做出正确的选择.
干杯!
内容总结
以上是互联网集市为您收集整理的java-使用参数更新字符串全部内容,希望文章能够帮你解决java-使用参数更新字符串所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。