Java字符串格式化主要有以下几种方式:
String.format()
方法String.format()
方法允许你使用格式化字符串来创建新的字符串。它类似于C语言中的printf()
函数。
String formattedString = String.format("Hello, %s! Your age is %d.", "Alice", 30);
System.out.println(formattedString); // 输出: Hello, Alice! Your age is 30.
StringBuilder
或StringBuffer
虽然StringBuilder
和StringBuffer
不是直接的格式化方法,但它们提供了高效的字符串拼接功能,可以用来构建复杂的字符串。
StringBuilder sb = new StringBuilder();
sb.append("Hello, ").append("Alice").append("! Your age is ").append(30).append(".");
String formattedString = sb.toString();
System.out.println(formattedString); // 输出: Hello, Alice! Your age is 30.
MessageFormat
MessageFormat
类提供了一种更灵活的方式来格式化字符串,特别是当需要处理多个参数时。
String pattern = "Hello, {0}! Your age is {1}.";
String formattedString = MessageFormat.format(pattern, "Alice", 30);
System.out.println(formattedString); // 输出: Hello, Alice! Your age is 30.
SimpleDateFormat
对于日期和时间的格式化,可以使用SimpleDateFormat
类。
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String formattedDate = sdf.format(new Date());
System.out.println(formattedDate); // 输出: 当前日期和时间,例如 2023-10-05 14:30:00
DecimalFormat
对于数字的格式化,可以使用DecimalFormat
类。
DecimalFormat df = new DecimalFormat("#,###.00");
String formattedNumber = df.format(1234567.89);
System.out.println(formattedNumber); // 输出: 1,234,567.89
StringJoiner
Java 8引入了StringJoiner
类,可以方便地连接字符串并添加分隔符。
StringJoiner joiner = new StringJoiner(", ", "Hello", "world!");
String formattedString = joiner.toString();
System.out.println(formattedString); // 输出: Hello, world!
StringJoiner
与Collectors.joining()
在处理集合时,可以使用Collectors.joining()
方法来格式化字符串。
List<String> names = Arrays.asList("Alice", "Bob", "Charlie");
String formattedString = names.stream().collect(Collectors.joining(", "));
System.out.println(formattedString); // 输出: Alice, Bob, Charlie
这些方法各有优缺点,选择哪种方式取决于具体的需求和场景。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。