java的msg用法_Java中的MessageFormat类的用法 | 学步园

一、基本概念

MessageFormat用来格式化一个消息,通常是一个字符串。MessageFormat模式的主要部分:

FormatElement:

{ ArgumentIndex }

{ ArgumentIndex , FormatType }

{ ArgumentIndex , FormatType , FormatStyle }

FormatType:

number

date

time

choice(需要使用ChoiceFormat)

FormatStyle:

short

medium

long

full

integer

currency

percent

SubformatPattern(子模式)

{0}、{1,number,short}、{2,number,#.#}属于FormatElement,0,1,2是ArgumentIndex

{1,number,short}里面的number属于FormatType,short则属于FormatStyle

{1,number,#.#}里面的#.#就属于子格式模式

二、例子

import java.text.MessageFormat;

String str = "{0}{1}{2}{3}{4}{5}{6}{7}{8}{9}{10}{11}{12}{13}{14}{15}{16}";

Object[] array = new Object[]{"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q"};

String value = MessageFormat.format(str, array);

System.out.println(value); // ABCDEFGHIJKLMNOPQ

String message = "oh, {0} is a person";

Object[] array = new Object[]{"ZhangSan"};

String value = MessageFormat.format(message, array);

System.out.println(value); // oh, ZhangSan is a person

String message = "oh, {0,number,#.#} is a number";

Object[] array = new Object[]{new Double(3.1415)};

String value = MessageFormat.format(message, array);

System.out.println(value); // oh, 3.1 is a number

// MessageFormat的format方法源码

public static String format(String pattern, Object ... arguments)

{

MessageFormat temp = new MessageFormat(pattern);

return temp.format(arguments);

}

对字符串的匹配比较智能

String str = "{0} | {1} | {0} | {1}";

Object[] array = new Object[] { "A", "B" };

String value = MessageFormat.format(str, array);

System.out.println(value); // A | B | A | B

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值