选项卡在 Java 中是如何工作的?

Posted

技术标签:

【中文标题】选项卡在 Java 中是如何工作的?【英文标题】:How tab works in Java? 【发布时间】:2020-02-14 16:44:40 【问题描述】:

我在使用标签时遇到了一个奇怪的情况。大多数制表符由 8 或 4 个空格组成。但是现在可以说是 8

例如

"abc"+"\t"+"bcd"      -> abc        bcd
"abcderft"+"\t"+"bcd" -> abcderft   bcd

为什么两个字符串之间的tab distance 会出现差异?

也看过这篇文章

https://***.com/questions/6000810/printing-with-t-tabs-does-not-result-in-aligned-columns

不太清楚。

即使制表符相当于 8 个空格,那为什么还要考虑字符串计数呢?我的意思是,如果我的字符串长度是 3,那么下一个字符串只会在 5 个空格之后出现,如果字符串长度是 8,那么下一个字符串会在 8 个字符之后出现。

标签是否也包含字符串长度?

【问题讨论】:

标签在 Java 中没有任何作用。他们只是角色。它们的打印方式取决于您的终端。 @AndyTurner,如果我做 string1+"\t"+string,它会认为它是一个完整的字符串还是由 tab 分隔的字符串? Maria,当您连接字符串时,该表达式的结果是一个新的“完整”字符串。 @Stefan,我可以将它们视为制表符分隔的字符串吗? 您可以使用String[] parts=yourString.split("\t") 在制表符处拆分字符串。如果这不是您想要的,那么请更具体地说明您的意见以及您想要实现的目标。 【参考方案1】:

制表符用于对齐列中的文本。 所以是的,它们是从行的空开头开始的多个空格,但不再跟随一些文本,因为他们会说下一列是 8(或 4)的倍数。 正如你所猜到的,它们包含了他之前的部分文本长度

【讨论】:

所以 "\t" 是一种填充来完成 8 个字符的字符串? 是的!如果它已经正好 8 长,知道它也会让它长到 16

以上是关于选项卡在 Java 中是如何工作的?的主要内容,如果未能解决你的问题,请参考以下文章

js原生实现选项卡功能

如何使 jQuery UI 选项卡在激活选项卡时执行“显示:flex”而不是“显示:阻止”?

Android:使用选项卡在不同片段之间切换

自定义功能区选项卡在第二次启动时消失

如何使最新的 UISegmentedControl 选项卡在单击它的应用程序会话期间持续存在?

每次当前选项卡在 TabBar 颤动中更改时,如何将新页面添加到导航器堆栈?