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() 不一致? [复制]的主要内容,如果未能解决你的问题,请参考以下文章