主要介绍了:

  • 消息格式化的基本使用;
  • 格式化:匹配数字;
  • 格式化:匹配日期;
  • 格式化:匹配时间;
  • 格式化:多次匹配;

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

下面是详细配置:


示例程序
  1. package com.sssppp.Format;
  2. import java.text.MessageFormat;
  3. import java.util.Arrays;
  4. import java.util.Date;
  5. import java.util.List;
  6. public class MessageFormatExample {
  7. public static void main(String[] args) {
  8. // 基本匹配
  9. String message = "基本匹配:{0}{1}{2}{3}{4}{5}{6}{7}{8}{9}{10}{11}{12}{13}{14}{15}{16}";
  10. Object[] array = new Object[] { "A", "B", "C", "D", "E", "F", "G", "H",
  11. "I", "J", "K", "L", "M", "N", "O", "P", "Q" };
  12. String value = MessageFormat.format(message, array);
  13. System.out.println(value); // ABCDEFGHIJKLMNOPQ
  14. String message1 = "基本匹配:{0} is a person";
  15. Object[] array1 = new Object[] { "ZhangSan" };
  16. String value1 = MessageFormat.format(message1, array1);
  17. System.out.println(value1); // oh, ZhangSan is a person
  18. System.out.println();
  19. // 数字匹配
  20. System.out.println("数字匹配,匹配:3.1415");
  21. List<String> numList = Arrays.asList("integer", "currency", "percent",
  22. "#.##", "00.##");
  23. for (String string : numList) {
  24. String message2 = "{0,number," + string + "}";
  25. Object[] array2 = new Object[] { new Double(3.1415) };
  26. String value2 = MessageFormat.format(message2, array2);
  27. System.out.println(value2);
  28. }
  29. System.out.println();
  30. // 日期匹配
  31. System.out.println("日期匹配");
  32. List<String> dateList = Arrays.asList("yyyyMMdd-HH:mm:ss", "short",
  33. "medium", "long", "full");
  34. for (String string : dateList) {
  35. String message3 = "{0,date," + string + "}";
  36. String value3 = MessageFormat.format(message3, new Date());
  37. System.out.println(value3);
  38. }
  39. System.out.println();
  40. // 时间匹配
  41. System.out.println("时间匹配");
  42. List<String> timeList = Arrays.asList("yyyyMMdd-HH:mm:ss", "short",
  43. "medium", "long", "full");
  44. for (String string : timeList) {
  45. String message4 = "{0,time," + string + "}";
  46. String value4 = MessageFormat.format(message4, new Date());
  47. System.out.println(value4);
  48. }
  49. System.out.println();
  50. // 多次匹配
  51. String message8 = "多次匹配:{0} | {1} | {0} | {1}";
  52. Object[] array8 = new Object[] { "A", "B" };
  53. String value8 = MessageFormat.format(message8, array8);
  54. System.out.println(value8); // A | B | A | B
  55. }
  56. }

运行结果
  1. 基本匹配:ABCDEFGHIJKLMNOPQ
  2. 基本匹配:ZhangSan is a person
  3. 数字匹配,匹配:3.1415
  4. 3
  5. ¥3.14
  6. 314%
  7. 3.14
  8. 03.14
  9. 日期匹配
  10. 20161201-17:13:05
  11. 16-12-1
  12. 2016-12-1
  13. 2016年12月1日
  14. 2016年12月1日 星期四
  15. 时间匹配
  16. 20161201-17:13:05
  17. 下午5:13
  18. 17:13:05
  19. 下午05时13分05秒
  20. 下午05时13分05秒 CST
  21. 多次匹配:A | B | A | B


【java消息格式化】使用MessageFormat进行消息格式化的更多相关文章

  1. 第四篇 :微信公众平台开发实战Java版之完成消息接受与相应以及消息的处理

    温馨提示: 这篇文章是依赖前几篇的文章的. 第一篇:微信公众平台开发实战之了解微信公众平台基础知识以及资料准备 第二篇 :微信公众平台开发实战之开启开发者模式,接入微信公众平台开发 第三篇 :微信公众 ...

  2. Java企业微信开发_05_消息推送之发送消息(主动)

    一.本节要点 1.发送消息与被动回复消息 (1)流程不同:发送消息是第三方服务器主动通知微信服务器向用户发消息.而被动回复消息是 用户发送消息之后,微信服务器将消息传递给 第三方服务器,第三方服务器接 ...

  3. java版Web Socket,实现消息推送

    # web socket是什么? WebSocket协议是基于TCP的一种新的网络协议. 它实现了浏览器与服务器全双工(full-duplex)通信,允许服务器主动发送信息给客户端. ## 用途 实时 ...

  4. Android 手机卫士--解析json与消息机制发送不同类型消息

    本文地址:http://www.cnblogs.com/wuyudong/p/5900800.html,转载请注明源地址. 1.解析json数据 解析json的代码很简单 JSONObject jso ...

  5. Intellij IDEA 创建消息驱动Bean - 接收JMS消息

    除了同步方式的调用之外,有时还需要异步调用,用来处理不需要即时处理的信息,例如短信.邮件等,这需要使用EJB中的独特组件——消息驱动Bean(Message-Driven Bean,MDB),它提供了 ...

  6. JMS学习(三)JMS 消息结构之属性及消息体详解

    一.前言 通过上一篇的学习我们知道了消息分为三个部分,即消息头,属性及消息体,并对消息头的十个属性进行了详细的介绍,本文再对消息属性及消息体进行详细的介绍. 二.属性介绍 消息属性的主要作用是可以对头 ...

  7. 深刻:截获windows的消息并分析实例(DefWindowProc),以WM_NCHITTEST举例(Windows下每一个鼠标消息都是由 WM_NCHITTEST 消息产生的,这个消息的参数包含了鼠标位置的信息)

    1,回调函数工作机制 回调函数由操作系统自动调用,回调函数的返回值当然也是返回给操作系统了. 2,截获操作系统发出的消息,截获到后,将另外一个消息返回给操作系统,已达到欺骗操作系统的目的. 下面还是以 ...

  8. java中实现与.net的format格式化字符串输出

    Java中的格式化字符串 System.out.println(MessageFormat.format("name={0}", "张三")); .net中的格 ...

  9. Java获取当前时间年月日、时间格式化打印、字符串转日期

    package com.sysc.simple; import java.text.ParseException; import java.text.SimpleDateFormat; import ...

随机推荐

  1. 没听说过这些,就不要说你懂并发了,three。

    引言 很久没有跟大家再聊聊并发了,今天LZ闲来无事,跟大家再聊聊并发.由于时间过去的有点久,因此LZ就不按照常理出牌了,只是把自己的理解记录在此,如果各位猿友觉得有所收获,就点个推荐或者留言激励下LZ ...

  2. 121. Best Time to Buy and Sell Stock

    Say you have an array for which the ith element is the price of a given stock on day i. If you were ...

  3. jdk 1.8 Executors

    Class Executors java.lang.Object java.util.concurrent.Executors public class Executors extends Objec ...

  4. GO语言练习:组合的用法

    1.代码 2.运行 1.代码 package main import "fmt" type Base struct { Name string } func (base * Bas ...

  5. 并非然并卵的z-index

    最近做一些东西的时候总觉得加上z-index和不加对于最终的显示结果并没有什么区别,开始以为一张图片把z-inde的值调小一点儿,就可以当做背景图片一样使用,跟background是一样的,在试过几次 ...

  6. Java基础 Day14 泛型

    //为什么要使用泛型 //1.解决元素存储的安全性的问题 //2.解决获取元素时,须要类型转换的问题 //未使用泛型 package org.tizen.test; import java.util. ...

  7. Lua 笔记

    lua命令: #enter shell lua #excute script file lua xxx.lua lua脚本: #!/usr/local/bin/lua 核心概念: As a exten ...

  8. 实验一:基于Winsock完成简单的网络程序开发

    第一部分:简答的UDP网络通信程序 // UDP5555.cpp : Defines the entry point for the application. //================== ...

  9. IT行业为什么没有进度

    参加工作多年了,来来回回参与了N多项目,大部分都是政府性的招标项目.每个项目都是顺利进行验收,在这些验收过的项目中大部分都或多或少都有一定的时间延期,每个项目都能够和合同或者需求说明书对应的上,但是真 ...

  10. 于 jsp第横梁list数据

            往往我们都会将查询到的数据显示到界面中,那么该怎样在界面显示.请看以下的具体解释:     0)前提得在jsp页面中获取后台传过来的数据(在此为List集合):             ...