栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用单个美元符号“ $”作为Java类名称会有任何风险吗?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用单个美元符号“ $”作为Java类名称会有任何风险吗?

这是不好的样式,

$
在Java中的任何标识符中使用都有潜在的风险。冒险的原因是该
$
字符保留供Java工具链和第三方语言工具使用。

  • Java编译器在内部和嵌套类的“内部”类名称中使用它。
  • Java编译器以合成属性的名称使用它。
  • 第三方代码生成器(例如,注释处理器)可以将其用于各种目的。
  • 面向JVM平台的其他语言也可以使用它,并且可能需要与您的代码共存。

目前,您可能没有普通

$
类名的技术问题(至少在标准Java工具链方面)。但是总有可能在将来改变这种情况:

  • 他们(有效地) 保留 更改此 权利 1。
  • _
    示例中有这样做的先例。

如果确实需要一个字符的类名,最好安全地使用它或使用

F
Z
保留一些其他名称。

但老实说,我认为您最好尝试实现(或仅使用)一种真正的功能语言,而不是尝试将功能编程“系统”引入Java。或者,也许可以在正式发布之前切换到Java
8。Cos I 拒绝 阅读/维护看起来像jquery的Java代码库。


我并不是要为Java创建功能库,而只是想创建一个库来维护我使用的一些通用实用程序。同样,我是极简主义者的拥护者,并且对apache
commons之类的东西感到厌倦。添加了功能性内容以帮助我更轻松地操作集合。

如果这是您的代码,则可以执行所需的操作。自己做决定。根据您的意见采取行动。成为“冒险者” … :-)。(我们对

$
等的建议尚无定论。)

但是,如果您正在为客户或雇主编写此代码,或者打算创建(可行的)开源产品,那么您需要考虑其他人的意见。例如,如果您在其他地方找到一份薪水更高的工作,您的老板需要就代码的可维护性有一个知情的意见。通常,下一个家伙将能够弄清楚它,保留您的代码,更新等…还是将其委托给垃圾箱?


1-
JLS§3.8指出“

$
字符只能在机械生成的源代码中使用”。那就是说“使用它的后果自负”。假设是,如果标准工具链只使用裸机,则构建自己的源代码生成器的人可以 更改
它们
$
,但是更改许多手写代码比较困难,这将是升级的障碍。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/428262.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号