Unipre转义序列允许您以纯ASCII格式存储和传输源代码,并且仍然使用整个Unipre字符范围。这有两个优点:
不存在非ASCII字符被无法处理的工具破坏的风险。这是在1990年代初设计Java时真正关心的问题。发送包含非ASCII字符的电子邮件并使其无障碍地到达是一个例外,而不是正常情况。
无需告诉编译器和编辑器/ IDE用于解释源代码的编码。这仍然是一个非常有效的问题。当然,一个更好的解决方案是将编码作为元数据包含在文件头中(如XML),但这在当时还不是最佳实践。
第一个变体对我来说很有意义-它允许程序员使用他们选择的国际语言来命名变量和方法。但是,我看不到第二种方法的任何实际应用。
两者将产生完全相同的字节码,并且具有与语言功能相同的功能。唯一的区别在于源代码。
首先,不良的程序员可能会使用它秘密注释掉一些代码,或者创建多种方法来标识相同的变量。
如果您担心程序员 故意 破坏代码的可读性,那么此语言功能是您最少遇到的问题。
其次,IDE之间似乎缺乏支持。
这几乎不是功能或其设计者的错。但是,然后,我认为它永远不会“手动”使用。理想情况下,IDE可以选择让您正常输入字符并使其正常显示,但是自动将它们另存为Unipre转义序列。甚至可能已经有使IDE具有这种行为的插件或配置选项。
但是总的来说,此功能似乎很少使用,因此可能无法很好地支持。但是在1993年左右设计Java的人们怎么知道呢?



