Java 标识符中的“连接字符”是什么?

新手上路,请多包涵

我正在阅读 SCJP,我对这一行有疑问:

标识符必须以字母、货币字符 ($) 或连接字符(例如下划线 (_))开头。标识符不能以数字开头!

它声明有效的标识符名称可以以连接字符 (例如 下划线)开头。我认为下划线是唯一有效的选择?还有哪些 _连接字符_?

原文由 LuckyLuke 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 442
2 个回答

这是连接字符的列表。这些是用于连接单词的字符。

http://www.fileformat.info/info/unicode/category/Pc/list.htm

 U+005F _ LOW LINE
U+203F ‿ UNDERTIE
U+2040 ⁀ CHARACTER TIE
U+2054 ⁔ INVERTED UNDERTIE
U+FE33 ︳ PRESENTATION FORM FOR VERTICAL LOW LINE
U+FE34 ︴ PRESENTATION FORM FOR VERTICAL WAVY LOW LINE
U+FE4D ﹍ DASHED LOW LINE
U+FE4E ﹎ CENTRELINE LOW LINE
U+FE4F ﹏ WAVY LOW LINE
U+FF3F _ FULLWIDTH LOW LINE

这在 Java 7 上编译。

 int _, ‿, ⁀, ⁔, ︳, ︴, ﹍, ﹎, ﹏, _;


一个例子。在这种情况下 tp 是列的名称和给定行的值。

 Column<Double> ︴tp︴ = table.getColumn("tp", double.class);

double tp = row.getDouble(︴tp︴);


以下

for (int i = Character.MIN_CODE_POINT; i <= Character.MAX_CODE_POINT; i++)
    if (Character.isJavaIdentifierStart(i) && !Character.isAlphabetic(i))
        System.out.print((char) i + " ");
}

印刷

\( _¢£€\)؋৲৻૱៛‿⁀₡₡₢₣₣₤₤₥₦₨₩₪₪€€₫₫₫₫₮₯₰₰₱₲₳₳₵₵₵₵₵₵₶₶ ﹩ ¥ _ ¢ ¥ ¥ ₩

原文由 Peter Lawrey 发布,翻译遵循 CC BY-SA 3.0 许可协议

遍历整个 65k 个字符并询问 Character.isJavaIdentifierStart(c) 。答案是:“内衣”十进制 8255

原文由 Markus Mikkolainen 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题