Java:为啥 \t 转义字符与 toString() 不一致? [复制]

Posted

技术标签:

【中文标题】Java:为啥 \\t 转义字符与 toString() 不一致? [复制]【英文标题】:Java: Why is the \t escape character working inconsistently with toString()? [duplicate]Java:为什么 \t 转义字符与 toString() 不一致? [复制] 【发布时间】:2015-11-20 19:48:58 【问题描述】:

我正在尝试使用 toString 方法并返回格式正确的字符串:

public String toString()

  return (acctNumber + "\t" + name + "\t" + fmt.format(balance));

应该在每个变量之间使用制表符进行格式化,但对于第一行,第二个制表符似乎不适用...(代码中使用的假名) 这是打印出来的:

72354   Ted Murphy$132.90
69713   Anita Gomez     $111.52
93757   Sanchit Reddy   $785.90

【问题讨论】:

标签在那里,但Ted Murphy 很短,所以奖品更接近 【参考方案1】:

这都是因为字符串的长度不同,但制表符将文本标识到下一个制表符位置。对于这样的格式,最好使用,例如:

System.out.format("%32s%32s%16s", acctNumber, name, fmt.format(balance));

这会将您的输出格式化为第一个和第二个变量的 32 个字符和第三个变量的 16 个字符。您可以更改此长度,以根据需要进行格式化。如果某些变量不是String类型,您可能需要指定数据类型。

你可以阅读它here

【讨论】:

以上是关于Java:为啥 \t 转义字符与 toString() 不一致? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

Java8 中的 LocalDateTime 默认格式化字符串中为啥会有个T

JAVA转义符与基本数据类型简介

java学习prat2转义字符注释与路径

JAVA中转义字符'\t'的含义?

jquery 冒号转义 为啥双斜杠

Java 中常用的转义字符