JAVA和C#在占位符方面有些区别,C#提供的占位符是用{num}这种形式,Java需要用%s这种形式,不太习惯,经查发现MessageFormat提供了花括号占位符的功能。

【转自】https://blog.csdn.net/Mint6/article/details/78583316

在Java中貌似很少有占位符(placeholder)这个概念,取而代之的是fomat类,另外一些框架也实现了占位符这样的东西。

在Java中有两种占位符%和{},

%后面可以是d、f、s等中间也可以加其他参数。只能用于String类对象中,不能用于MessageFormat类对象。

{}中的数字要与后面的参数位置对应。只能用于MessageFormat类对象中,不能用于String类对象。

总的来说String.format()方法用起来不如MessageFormat.format()方法强大。

具体如何使用可以参考官方API文档

http://docs.oracle.com/javase/7/docs/api/

下面的几个例子仅供参考

importjava.text.MessageFormat;importjava.util.Date;public classtest01 {public static voidmain(String[] args) {

System.out.println("hello");//print hello//%s占位符,输出字符串

String username = "user1";int num = 3;

System.out.printf("%s您好,您是第%s位访客\n", username, num); //prints user1您好,您是第3位访客//%f占位符

double d = 1.2;float f = 1.2f;

System.out.printf("%f %f", d, f); //prints 1.200000 1.200000//%1$s占位符//%n$ms:代表输出的是字符串,n代表是第几个参数,设置m的值可以在输出之前放置空格,也可以设为0m,在输出之前放置m个0

System.out.println(String.format("我是%1$s,我来自%2$s,今年%3$s岁", "中国人", "北京","22"));//prints 我是中国人,我来自北京,今年22岁//{}占位符,{}内的数字代表第几个参数,参数从0开始

String url = "www.baidu.com";int count = 1000;

System.out.println(MessageFormat.format("该网站{0}被访问了 {1} 次.", url, count));//prints 该网站www.baidu.com被访问了 1,000 次.//{}占位符

String template = "Welcome {0}! Your last login was {1}";

String output= MessageFormat.format(template, new Object[] { "Python",newDate().toString() });

System.out.println(output);//prints Welcome Python! Your last login was Fri Oct 10 20:47:00 CST 2014

}

}

java double 占位符_Java输出格式化之占位符相关推荐

  1. java函数修饰符_Java 函数 面向对象,修饰符,类,构造方法,this

    1.函数 函数就是定义在类中,具有特定功能的一段小程序. 在面向对象编程的语言中,函数也叫方法. 2.函数的格式 修饰符 返回值类型 函数名(参数类型 实际参数,....) { 执行语句; retur ...

  2. java double 的精度_java double类型相加精度问题的解决

    我就废话不多说了,大家还是直接看代码吧~ package com.hxyl.action; import java.text.DecimalFormat; public class Test { pu ...

  3. java中访问修饰符_Java中的访问修饰符介绍

    java中访问修饰符 什么是访问修饰符? (What are Access Modifiers?) Have you ever wanted to define how people would ac ...

  4. java中类定义修饰符_Java 中类和方法修饰符

    Java 中类和方法修饰符 类的修饰 访问修饰符 修饰符 class 类名 extends 父类名称 implements 接口名称(notes: 访问修饰符符与修饰符的位置可以互换) 访问修饰符 名 ...

  5. java需要最大正数_Java输出double类型中的最小正数和最大正数

    这是<写给大忙人看的java核心技术>中的一道练习题. 1. 输出最大正数值 System.out.println(Double.MAX_VALUE); 直接输出包装类Double的MAX ...

  6. java sql in 占位符_Java中SQL语句占位符的使用

    使用占位符的好处 在SQL语句中使用?来代替具体的数值,可除去繁琐的字符串拼接操作,且可避免SQL注入的风险String sql="SELECT * FROM user_login WHER ...

  7. java double储存原理_Java内存分配原理

    Java内存分配与管理是Java的核心技术之一,一般Java在内存分配时会涉及到以下区域: ◆寄存器:我们在程序中无法控制 ◆栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中 ...

  8. java中换行符号_Java中的回车换行符/n /r /t分析

    首先直接上结论: //换行时采用System.getProperty("line.separator") public void test1() { LogTable logTab ...

  9. java double 的精度_Java Double的精度问题

    Java.text 类 DecimalFormat java.lang.Object java.text.Format java.text.NumberFormat java.text.Decimal ...

最新文章

  1. 2021年大数据Hadoop(十二):HDFS的API操作
  2. Merkle 树——空间换时间,分而治之的hash表,通过根节点是由它的两个子节点内容的哈希值组成来校验数据完整性,定位篡改的数据位置...
  3. python 虚拟环境 virtualenv virtualenvwrapper的使用方法、命令
  4. QT的QSignalBlocker类的使用
  5. 信息抽取--关键句提取
  6. 卫星系统——酒店后端全链路日志收集工具介绍
  7. Socket粘包问题终极解决方案—Netty版(2W字)!
  8. 类与对象的小结 java 1614782140
  9. .Net中的AOP系列之《单元测试切面》
  10. Atitit 软件体系的进化,是否需要一个处理中心
  11. 水经注全球离线地图数据3.0即将发布
  12. BAT 老兵的经验之谈,成长路上这个道理越早知道越好
  13. 下行法求最小割集案例_故障树中最小割集和最小径集的改进算法
  14. 愤怒!竟然还有学校还在教 Java 的 Swing
  15. 搜狗输入法关闭快捷键设置
  16. 基金投资理财专栏介绍
  17. Unity手机移动设备重力感应
  18. 系统坏了用u盘怎么重装系统
  19. C#自定义好看的消息提示窗口MessageBox
  20. 计算机系系徽设计说明,《系徽设计介绍简介模版.ppt

热门文章

  1. 机器视觉工程师应该知道的23个工业镜头专业术语
  2. 判断一个字符串数组是否能组成首尾相连的环
  3. 囧,现在才只QQ有远程控制
  4. window11 + Bibtex4Word + Texlive2021 安装过程
  5. 他来了他来了,Hadoop序列化和切片机制了解一下?
  6. GitHub 上排名前 100 的 Android 开源库介绍
  7. 2016年全国高中数学联赛加试T1解答
  8. PaddlePaddle飞桨《高层API助你快速上手深度学习》『深度学习7日打卡营』第四节课后作业题(代码实践)---快来选一顿好吃的年夜饭
  9. win10多显示器设置只有主显示屏显示任务栏
  10. 骁龙780g相当于什么处理器 骁龙780g什么水平