当前位置: 首页 > news >正文

Java 字符串占位格式化

        Java 提供了几种方式来处理字符串占位符,最常用的是 String 类的 format 方法和 MessageFormat 类。以下是这两种方法的详细说明和示例。

1、String.format

基本语法:

String formatted = String.format("格式字符串", 参数1, 参数2, ...);

 占位符  %s:字符串 ,%d:十进制整数,%f:浮点数,%t:日期/时间,%b:布尔值,%x 或 %X:十六进制整数

示例:

public class FormatExample {public static void main(String[] args) {String name = "Alice";int age = 30;double height = 1.65;boolean isStudent = false;// 基本占位符String result1 = String.format("Name: %s, Age: %d, Height: %.2f, Student: %b", name, age, height, isStudent);System.out.println(result1);  // 输出: Name: Alice, Age: 30, Height: 1.65, Student: false// 日期和时间java.util.Date now = new java.util.Date();String result2 = String.format("Current date and time: %tF %tT", now, now);System.out.println(result2);  // 输出: Current date and time: YYYY-MM-DD HH:MM:SS}
}

 2、MessageFormat

基本语法同上,但是占位符换成了 {0}、{1}、{2} 等:按顺序替换参数

示例:

import java.text.MessageFormat;public class MessageFormatExample {public static void main(String[] args) {String name = "Alice";int age = 30;double height = 1.65;boolean isStudent = false;// 基本占位符String result1 = MessageFormat.format("Name: {0}, Age: {1}, Height: {2,number,#.##}, Student: {3}",name, age, height, isStudent);System.out.println(result1);  // 输出: Name: Alice, Age: 30, Height: 1.65, Student: false// 复数形式int count = 1;String result2 = MessageFormat.format("You have {0,choice,0#no items|1#one item|1<#{0} items}", count);System.out.println(result2);  // 输出: You have one itemcount = 3;result2 = MessageFormat.format("You have {0,choice,0#no items|1#one item|1<#{0} items}", count);System.out.println(result2);  // 输出: You have 3 items}
}

注意事项:

 MessageFormat 单引号连占位符引起占位符失效解决方案_messageformat.format 单引号-CSDN博客

MessageFormat格式化千位数以上数字出现逗号_messageformat 数字会加逗号-CSDN博客

总结:

选择哪种方法取决于你的具体需求。如果你只需要简单的字符串替换和基本格式化,String.format 是一个很好的选择。如果你需要处理更复杂的格式化逻辑,MessageFormat 提供了更多的灵活性和功能。

相关文章:

Java 字符串占位格式化

Java 提供了几种方式来处理字符串占位符&#xff0c;最常用的是 String 类的 format 方法和 MessageFormat 类。以下是这两种方法的详细说明和示例。 1、String.format 基本语法&#xff1a; String formatted String.format("格式字符串", 参数1, 参数2, ...); …...

基于netty实现简易版rpc服务-理论分析

1.技术要点 1.1 rpc协议 定义一个rpc协议类&#xff0c;用于rpc服务端和客户端数据交互。 1.2 netty粘包半包处理 由于数据传说使用tcp协议&#xff0c;rpc协议的数据在网络传输过程中会产生三种情况&#xff1a; 1&#xff09;刚好是完整的一条rpc协议数据 2&#xff09;不…...

Elasticsearch高级搜索技术-全文搜索

目录 倒排索引 (Inverted Index) 示例 分词器 (Analyzer) 评分机制 (Scoring) 查询执行 match 查询 match_phrase 查询 全文搜索是Elasticsearch的核心功能之一&#xff0c;它通过复杂的算法和数据结构来提供高效的搜索能力。为了深入理解其工作原理&#xff0c;我们需要…...

案例分享—国外优秀UI卡片设计作品赏析

国外UI设计注重用户体验&#xff0c;倾向于采用简洁的布局、清晰的排版和直观的交互方式&#xff0c;减少用户的认知负担。卡片式设计能够完美利用屏幕空间&#xff0c;使内容一目了然&#xff0c;易于用户快速浏览和阅读&#xff0c;从而提升了整体的用户体验。 更加注重扁平化…...

Go语言基础学习(Go安装配置、基础语法)

一、简介及安装教程 1、为什么学习Go&#xff1f; 简单好记的关键词和语法&#xff1b;更高的效率&#xff1b;生态强大&#xff1b;语法检查严格&#xff0c;安全性高&#xff1b;严格的依赖管理&#xff0c; go mod 命令&#xff1b;强大的编译检查、严格的编码规范和完整的…...

STM32—FLASH闪存

1.FLASH简介 STM32F1系列的FLASH包含程序存储器、系统存储器和选项字节三个部分&#xff0c;通过闪存存储器接口&#xff08;外设&#xff09;可以对程序存储器和选项字节进行擦除和编程 我们怎么操作这些存储器呢&#xff1f;这就需要用到这个闪存存储器接口了&#xff0c;闪…...

AP上线的那些事儿(1)capwap建立过程、设备初始化以及二层上线

1、了解FITAP与AC的建立过程 之前我们已经知道了FATAP与FIT是一对双胞胎一样的兄弟&#xff0c;FAT哥哥能够直接独立使用当AP桥接、路由器等&#xff0c;而弟弟FIT则比较薄弱&#xff0c;独自发挥不出功效&#xff0c;需要一位师傅&#xff08;AC&#xff09;来带领&#xff0c…...

10 django管理系统 - 管理员管理 - 新建管理员(通过模态框和ajax实现)

在文章“04 django管理系统 - 部门管理 - 新增部门”中&#xff0c;我们通过传统的新增页面来实现部门的添加。 在本文中&#xff0c;我们通过模态框和ajax来实现管理员的新增。 首先在admin_list.html中新建入口&#xff0c;使用按钮 <div class"panel-heading&quo…...

Mysql中表字段VARCHAR(N)类型及长度的解释

本文将针对MySQL 中 varchar (N)类型字段的存储方式进行解释&#xff0c;主要是对字符和字节的关系的理解。 1. varchar (N) 中的 N varchar (N) 中的 N 表示字符数&#xff0c;而不是字节数。这意味着 N 表示你可以存储多少个字符。 字符数&#xff1a;指的是字符的个数&…...

git提交信息写错处理方式

在Git中&#xff0c;你可以通过使用rebase命令来合并提交记录。以下是一个简单的步骤来合并一系列提交&#xff1a; 使用git rebase -i开始交互式变基。在打开的编辑器中&#xff0c;你会看到一个提交列表。若要合并提交&#xff0c;将要合并的提交前面的pick改为squash或s。保…...

C#从零开始学习(用unity探索C#)(unity Lab1)

初次使用Unity 本章所有的代码都放在 https://github.com/hikinazimi/head-first-Csharp Unity的下载与安装 从 unity官网下载Unity Hub Unity的使用 安装后,注册账号,下载unity版本,然后创建3d项目 设置窗口界面布局 3D对象的创建 点击对象,然后点击Move Guzmo,就可以拖动…...

【SpringBoot】15 Echarts+Thymeleaf 绘制各种图表

Gitee仓库 https://gitee.com/Lin_DH/system 介绍 ECharts是百度开源的一个前端组件。它是一个使用 JavaScript 实现的开源可视化库&#xff0c;可以流畅的运行在 PC 和移动设备上&#xff0c;兼容当前绝大部分浏览器&#xff08;IE8/9/10/11&#xff0c;Chrome&#xff0c;…...

网络学习笔记

一、网络的结构与功能 网络的鲁棒性与抗毁性 如果在移走少量节点后网络中的绝大部分节点仍然是连通的&#xff0c;那么就该网络的连通性对节点故障具有鲁棒性 网络上的动力学 动力系统&#xff1a;自旋、振子或混沌的同步、可激发系统 传播过程&#xff1a;信息传播与拥堵…...

[论文笔记]HERMES 3 TECHNICAL REPORT

引言 今天带来论文HERMES 3 TECHNICAL REPORT&#xff0c;这篇论文提出了一个强大的工具调用模型&#xff0c;包含了训练方案介绍。同时提出了一个函数调用标准。 为了简单&#xff0c;下文中以翻译的口吻记录&#xff0c;比如替换"作者"为"我们"。 聊天模…...

MySQL-19.多表设计-一对多-外键

一.多表问题分析 二.添加外键 三.外键约束的问题...

MySQL程序介绍<一>

目录 MySQL程序简介 mysqld - MySQL 服务器 ​编辑 mysql - MySQL 命令⾏客⼾端 MySQL程序简介 1.MySQL安装完成通常会包含如下程序&#xff1a; Linux系统程序⼀般在 /usr/bin⽬录下&#xff0c;可以通过命令查看 windows系统⽬录&#xff1a; 你的安装路径\MySQL Server…...

Leetcode 第 419 场周赛题解

Leetcode 第 419 场周赛题解 Leetcode 第 419 场周赛题解题目1&#xff1a;3318. 计算子数组的 x-sum I思路代码复杂度分析 题目2&#xff1a;3319. 第 K 大的完美二叉子树的大小思路代码复杂度分析 题目3&#xff1a;思路代码复杂度分析 题目4&#xff1a;3321. 计算子数组的 …...

那些年 我们说走就走

那些年 我们说走就走 —— 2022-03-20 二月十八 春分 我总是钟情于原生景色&#xff0c;犹如那句 “落霞与孤鹜齐飞&#xff0c;秋水共长天一色。” 所绘。 我热爱骑行&#xff0c;向往自然&#xff0c;对有着 “中国人的景观大道” 之称的 318 国道川藏线憧憬已久。 17 年暑…...

MySQL初识

在了解什么是MySQL前&#xff0c;我们先了解一下什么是数据库&#xff1f;&#xff1f; 1. 数据库简介 1.1 什么是数据库 数据库是20世纪60年代末发展起来的⼀项重要技术&#xff0c;已经成为计算机科学与技术的⼀个重要分⽀。数据库技术主要是⽤来解决数据处理的⾮数值计算问…...

基于Java微信小程序的的儿童阅读系统的详细设计和实现(源码+lw+部署文档+讲解等)

详细视频演示 请联系我获取更详细的演示视频 项目运行截图 技术框架 后端采用SpringBoot框架 Spring Boot 是一个用于快速开发基于 Spring 框架的应用程序的开源框架。它采用约定大于配置的理念&#xff0c;提供了一套默认的配置&#xff0c;让开发者可以更专注于业务逻辑而不…...

DownKyi视频管理进阶指南:从新手到专家的实践路径

DownKyi视频管理进阶指南&#xff1a;从新手到专家的实践路径 【免费下载链接】downkyi 哔哩下载姬downkyi&#xff0c;哔哩哔哩网站视频下载工具&#xff0c;支持批量下载&#xff0c;支持8K、HDR、杜比视界&#xff0c;提供工具箱&#xff08;音视频提取、去水印等&#xff0…...

video-subtitle-extractor:智能去重技术重构硬字幕提取精度

video-subtitle-extractor&#xff1a;智能去重技术重构硬字幕提取精度 【免费下载链接】video-subtitle-extractor 视频硬字幕提取&#xff0c;生成srt文件。无需申请第三方API&#xff0c;本地实现文本识别。基于深度学习的视频字幕提取框架&#xff0c;包含字幕区域检测、字…...

【限时解禁】PyTorch 3.0静态图训练最佳实践白皮书(含21个真实集群trace日志+自动调优脚本)

第一章&#xff1a;PyTorch 3.0静态图分布式训练全景概览PyTorch 3.0 引入了原生静态图编译能力&#xff08;TorchDynamo Inductor 后端深度集成&#xff09;&#xff0c;结合 torch.distributed 的增强型 API&#xff0c;构建出面向大规模集群的高性能分布式训练范式。与传统…...

C++的std--ranges适配器视图元素类型系统与概念检查在模板错误信息

C20引入的std::ranges彻底改变了范围处理范式&#xff0c;其适配器视图与概念检查机制在编译期类型安全方面展现出独特价值。当开发者组合视图管道或设计泛型算法时&#xff0c;元素类型系统的静态验证能精准拦截非法操作&#xff0c;而概念检查生成的模板错误信息则成为调试利…...

Phi-4-mini-reasoning模型效果展示:智能解读操作系统核心概念

Phi-4-mini-reasoning模型效果展示&#xff1a;智能解读操作系统核心概念 1. 模型能力概览 Phi-4-mini-reasoning是一款专注于技术概念解析的轻量级模型&#xff0c;特别擅长用通俗易懂的方式拆解复杂系统原理。在操作系统这类抽象概念的解释上&#xff0c;它能将教科书式的定…...

OpenClaw技能扩展实战:用Qwen3.5-9B构建图片分析工作流

OpenClaw技能扩展实战&#xff1a;用Qwen3.5-9B构建图片分析工作流 1. 为什么需要图片分析工作流 作为一个经常需要处理大量图片的内容创作者&#xff0c;我长期被三个问题困扰&#xff1a;相册混乱难以查找、社交媒体配文耗时、截图信息整理低效。直到发现OpenClaw支持通过S…...

BetterNCM Installer完整指南:三步打造个性化网易云音乐工作站

BetterNCM Installer完整指南&#xff1a;三步打造个性化网易云音乐工作站 【免费下载链接】BetterNCM-Installer 一键安装 Better 系软件 项目地址: https://gitcode.com/gh_mirrors/be/BetterNCM-Installer 还在为网易云音乐的功能限制感到困扰吗&#xff1f;BetterNC…...

GHCJS与Emscripten集成:构建高性能Web应用的最佳实践

GHCJS与Emscripten集成&#xff1a;构建高性能Web应用的最佳实践 【免费下载链接】ghcjs Haskell to JavaScript compiler, based on GHC 项目地址: https://gitcode.com/gh_mirrors/gh/ghcjs GHCJS是一个强大的Haskell到JavaScript编译器&#xff0c;它基于GHC&#xf…...

如何防止SQL注入篡改应用配置_对数据库连接加密存储

能&#xff0c;但需满足配置存数据库且SQL未参数化&#xff1b;攻击者可通过拼接恶意语句读取、删表或篡改配置&#xff1b;加密须用外部KMS管理密钥&#xff0c;避免硬编码&#xff0c;并配合权限隔离、输入校验与TLS传输。SQL注入能直接改配置表吗&#xff1f;能&#xff0c;…...

RMBG-2.0部署避坑指南:常见问题解决方案

RMBG-2.0部署避坑指南&#xff1a;常见问题解决方案 1. 引言 最近RMBG-2.0这个开源背景去除模型确实火得不行&#xff0c;效果确实惊艳&#xff0c;精确到发丝级别的抠图能力让很多开发者跃跃欲试。但在实际部署过程中&#xff0c;不少朋友都遇到了各种坑&#xff1a;环境配置…...