<JDK><一>MessageFormat.format用法

一,网上案例

用法1;

1 String msg = "{0}{1}{2}{3}{4}{5}{6}{7}{8}";
2 Object [] array = new Object[]{"A","B","C","D","E","F","G","H","I",};
3 String value = MessageFormat.format(msg, array);
4 System.out.println(value);  // 输出:ABCDEFGHI 

用法2:

1 String value = MessageFormat.format("oh, {0} is ‘a‘ pig", "ZhangSan");
2 System.out.println(value);  // 输出:oh, ZhangSan is a pig 

用法3:

1 MessageFormat.format("{0}{1}", 1, 2); // 结果12
2 MessageFormat.format("‘{0}{1}", 1, 2); // 结果{0}{1}
3 MessageFormat.format("‘{0}‘-{1}", 1, 2); // 结果{0}-2

用法4:

1 String value = MessageFormat.format("oh, ‘‘{0}‘‘ is a pig", "ZhangSan");
2 System.out.println(value);  // 输出:oh, ‘ZhangSan‘ is a pig 

二,项目中的应用

案例1:定义一个常量

1     private static final String IMPORT_OUT_OF_MAX_LINE = "<label class=‘error-line‘>最多只能导入{0}条数据。</label>";

用法的时候就是这种,比如说importMaxLineNum是1,则aa就是<label class=‘error-line‘>最多只能导入1条数据。</label>

1 var aa=MessageFormat.format(IMPORT_OUT_OF_MAX_LINE, importMaxLineNum);

案例2:定义两个常量

1 private static final String LINE_NO = "<label class=‘error-line‘>{0} 行:</label>";
2
3 private static final String source_agent_not_existence = "数据校验 :{0}不能为空!";
String lineHeader = MessageFormat.format(LINE_NO, index + 2);

var aa= sb.append(lineHeader).append(MessageFormat.format(source_agent_not_existence, "任务类型")).append("|");var bb=sb.append(lineHeader).append(MessageFormat.format(source_agent_not_existence, "原销售域账号")).append("|");

var cc=sb.append(lineHeader).append(MessageFormat.format(source_agent_not_existence, "目标销售域账号")).append("|");

这种用法就可以根据条件的不容来判断后面要填的值,比如说aa

现在index是0,那么

那么出来的结果就是

<label class=‘error-line‘>2 行:</label>  数据校验 :任务类型不能为空!

案例3:

1 private static final String LINE_NO = "<label class=‘error-line‘>{0} 行:</label>";
2 private static final String source_agent_not_existences = "数据校验 :快钱账号:{0} 和快钱账号销售域账号 {1} 查询不到快钱账号信息!";
3 String lineHeader = MessageFormat.format(LINE_NO, index + 2);
4 var aa=sb.append(lineHeader).append(MessageFormat.format(source_agent_not_existences, order.getEmail(),order.getSourceSalesDomainName())).append("|");

比如说index是0

order.getEmail()是[email protected]

order.getSourceSalesDomainName()))是张三

那么结果出来就是

<label class=‘error-line‘>2 行:</label>数据校验 :快钱账号:[email protected] 和快钱账号销售域账号张三 查询不到快钱账号信息!

效果图。。。。。

原文地址:https://www.cnblogs.com/qingruihappy/p/8604268.html

时间: 2024-10-10 05:10:32

<JDK><一>MessageFormat.format用法的相关文章

Java 中 MessageFormat.format 用法

MessageFormat本身与语言环境无关,而与用户提供给MessageFormat的模式和用于已插入参数的子格式模式有关,以生成适用于不同语言环境的消息. MessageFormat模式(主要部分): FormatElement: { ArgumentIndex }:是从0开始的入参位置索引. { ArgumentIndex , FormatType } { ArgumentIndex , FormatType , FormatStyle } FormatType: :指定使用不同的Form

关于java中MessageFormat.format中单引号问题

我们知道java中可以用MessageFormat.format来格式化字符串.这个方法在我们的实际开发中经常用到,有点类似模板,这样我们就不需要用很恶心的拼接字符串了.如下面 String s1="my blogWebSite is {0} and sinaWeiBo is {1} "; String s2=MessageFormat.format(s1,"http://www.3lai8.com","http://weibo.com/javaee6&q

MessageFormat理解,MessageFormat.format(Object obj)方法

MessageFormat.format(Object obj)方法主要用途为拼接message信息 用法: Object[] testArgs = {new String("张三"),new String("大傻子")}; MessageFormat form = new MessageFormat("{0}是个{1}"); String format = form.format(testArgs); System.out.println(fo

字符串模版替换的方法MessageFormat.format(String pattern, Object ... arguments)

MessageFormat.format(String pattern, Object ... arguments) MessageFormat.format(NewOrderConstant.PAY_SCHEMA, URLEncoder.encode(MessageFormat.format(NewOrderConstant.RESULT_SCHEME, String.valueOf(orderId)), HTTP.UTF_8), URLEncoder.encode(MessageFormat

Java魔法堂:初探MessageFormat.format

一.前言 刚开始从.net的转向java的时候总觉得 String.format 用得不习惯,希望格式模版会这样 {0}, this is {1}'s cat.{1},this is {0}'s dog. 而不是 %1$s,this is %2$s's cat.%2$s,this is %1$s's dog. .后来发现 java.text.MessageFormat.format 可以满足我这个小小的愿望. 二.静态方法 java.text.MessageFormat.format    方法

MessageFormat.format 字符串的模板替换

项目目前在消息的模版,模版中需要替换很多参数,比方说"用户名","日期"等等.不过目前没有想到更好的替换参数的方法,所以目前只能使用一个比较简单的方式来实现.这个方式太死板,参数对应必须要在代码中写死,若是在模版中多加一个参数,那么就要修改Java类中的代码,非常不好.临时凑合一下,以后想到更好的方式,在来实现.以下为代码实现: 其实这个实现就是使用了MessageFormat这个类; String content = "ab,cc,{名称},{密码},{

C#中string.format用法详解 [转载]

这篇文章主要介绍了C#中string.format用法,以实例形式较为详细的讲述了string.format格式化的各种用法,非常具有实用价值,需要的朋友可以参考下 本文实例总结了C#中string.format用法.分享给大家供大家参考.具体分析如下: String.Format 方法的几种定义: String.Format (String, Object) 将指定的 String 中的格式项替换为指定的 Object 实例的值的文本等效项.String.Format (String, Obj

String.Format用法

1.作为参数   名称 说明   Format(String, Object) 将指定的 String 中的格式项替换为指定的 Object 实例的值的文本等效项.   Format(String, array<>[]()[]) 将指定 String 中的格式项替换为指定数组中相应 Object 实例的值的文本等效项.   Format(IFormatProvider, String, array<>[]()[]) 将指定 String 中的格式项替换为指定数组中相应 Object

C#中string.Format 用法详解

这篇文章主要介绍了C#中string.format用法,以实例形式较为详细的讲述了string.format格式化的各种用法,非常具有实用价值,需要的朋友可以参考下 本文实例总结了C#中string.format用法.分享给大家供大家参考.具体分析如下: String.Format 方法的几种定义: String.Format (String, Object) 将指定的 String 中的格式项替换为指定的 Object 实例的值的文本等效项.String.Format (String, Obj