【问题标题】:How to use subscript in java string?如何在java字符串中使用下标?
【发布时间】:2015-10-03 13:58:24
【问题描述】:

如何在 Java 字符串中写入下标字符?

例如,我必须写"CO2"。如何将2 移动到CO 的底部?

【问题讨论】:

  • 为什么不用UTF-8 subscript 2 symbol而不是第二个呢?
  • 这个字符串会在哪里显示?字符串是一系列字符,本身不包含有关格式的信息。
  • “下标”不是 Java 概念。 Java 语言和标准库处理字符串(字符序列)。应该在打印或屏幕上将哪些字符序列呈现为下标的问题在更高级别得到解答(例如,谷歌的“java富文本编辑器”)
  • 参见 StyleConstants (docs.oracle.com/javase/7/docs/api/javax/swing/text/…)。您可以将下标值用于样式化文档

标签: java string subscript


【解决方案1】:

String 类不提供此类操作。但是你可以使用Unicode Character 'SUBSCRIPT TWO' (U+2082):

final String string = "CO\u2082"; // CO₂

另外,您可以将String 创建为 HTML sn-p。例如,

final String html = "CO<sub>2</sub>";

【讨论】:

  • 为了可维护性,我可能建议将“\u2082”设置为具有合理名称的常量;即private static final String SUBSCRIPT_TWO = "\u2082",这样当您在 6 个月后查看代码时,就可以清楚地了解正在做什么
  • @beresfordt,这很好,但是......如果我只在一个地方使用它,为什么要使用静态类变量?
  • 如果在某个命名变量中没有“\u2082”,您很可能会忘记它是什么。在方法中将其作为常量局部变量似乎有点不对劲。它是一个常量,所以我会使用 java-y 声明常量的方式; private/public/protected static final - 只是一种风格选择
  • 谢谢亲爱的,但这两个选项都不起作用。我正在使用 jdk6
  • System.out.println("CO\u2082"); 打印 CO₂
猜你喜欢
  • 1970-01-01
  • 2014-05-03
  • 1970-01-01
  • 2013-10-12
  • 2018-03-08
  • 1970-01-01
  • 2023-03-11
  • 2021-01-31
  • 1970-01-01
相关资源
最近更新 更多