Java 中使用 _ (下划线) 作为变量名2025 年 1 月 7 日 | 阅读 3 分钟 在 Java 中使用下划线 (_) 作为变量名一直是开发者讨论的话题,这主要是因为它在 Java 语言约定中的演变及其对可读性、约定遵循性和最佳实践的影响。以下是对在 Java 中使用下划线作为变量名的详细探讨。 演变与历史在早期版本的 Java 中,下划线不允许用于变量名。Java 语法严格限制变量名只能使用字母数字字符,下划线保留用于特定用途,例如分隔常量名中的单词(MAX_VALUE, MIN_VALUE)。然而,随着 Java SE 7 的引入,下划线在某些上下文中获得了新的意义,成为有效的标识符。 Java 中下划线的合法用途Java SE 7 及更高版本中的标识符:自 Java SE 7 起,下划线可以在某些上下文中用作标识符。
命名约定和最佳实践
Java 9 中引入的限制从 Java 9 开始,引入了一项重大更改:禁止将单个下划线 (_) 用作标识符。此更改是语言演变的一部分,旨在防止潜在的混淆并提高代码的可读性。此更改已在 JEP 213: Milling Project Coin 中正式确定,该项目包含多项小型语言更改和更新。 如果我们在 Java 9 或更高版本中尝试将 _ 用作变量名,将会发生什么情况 编译器错误将如下所示: 为什么做出此更改? 将 _ 设为 Java 9 中的关键字的决定受到几个因素的影响: 可读性:单个下划线作为变量名不具描述性,可能使代码更难理解和维护。 未来的语言特性:将 _ 保留为关键字为未来可能受益于专用符号的语言特性留下了空间。 与其他语言的一致性:其他一些编程语言也同样不鼓励或禁止使用 _ 作为标识符。使 Java 与这些实践保持一致可以减少处理多种语言的开发者的困惑。 允许使用下划线虽然禁止使用单个下划线,但下划线仍然可以作为变量名的一部分与其他字符结合使用: 文件名:UnderscoreExample.java 输出 User ID: 101 User Name: Alice 实际考虑兼容性和维护
编译器和 IDE 支持
结论自 Java SE 7 起,在 Java 中使用下划线作为变量名在法律上是允许的,尽管这偏离了传统的命名约定。虽然它提供了命名的灵活性,但遵循已建立的标准,例如驼峰命名法,可以显著提高代码的可读性和可维护性。 开发人员应仔细权衡使用下划线带来的优势与清晰、易于理解的代码的至关重要性,确保遵循团队一致的约定,以在整个项目中维护代码库的完整性、凝聚力和整体可读性。 |
这是谷歌、亚马逊、TCS、Accenture、Uber 等顶级 IT 公司面试中经常问到的一个非常有趣的问题。通过解决这个问题,可以检查面试者的逻辑能力、批判性思维和解决问题的能力。所以,在本节中,我们将...
阅读 3 分钟
Java 是一种流行的面向对象编程语言,用于创建功能强大且高效的软件应用程序。在 Java 中,类是代码的基本单元,它定义了对象的蓝图。Java 中的每个对象都属于一个类,而一个类包含...
7 分钟阅读
可以使用 MD5、SHA-1、SHA-256 等各种算法生成文件校验和值。校验和是一个数字签名,有助于确保文件的完整性和真实性。通过生成校验和值,您可以将其与原始校验和进行比较……
11 分钟阅读
在 Java 中,变异方法在面向对象编程过程中起着至关重要的作用。变异方法也称为 setter 方法,负责通过更新其实例变量来修改对象的状态。在本节中,我们将探讨变异方法在...中的概念。
5 分钟阅读
快速排序是一种使用分治技术的排序算法。它选择一个枢轴元素,并将其放置在已排序数组中的适当位置。分治是一种将算法分解为子问题,然后求解子问题的技术,...
阅读 8 分钟
SimpleTimeZone 类包含 setStartYear() 方法,该方法用于指定夏令时开始的年份。语法:public void setStartYear(int year) 参数:该函数接受一个参数 year,表示夏令时开始的年份。返回值:无... (省略了其他部分)
阅读 2 分钟
在 Java 中,非检查异常也称为运行时异常。非检查异常是异常的一个子集,不需要使用 throws 关键字在方法签名中声明。它们继承自 RuntimeException 类,该类本身是 Exception 的子类...
阅读 8 分钟
有多种方法可以处理字符串。一项常见的任务是反转给定字符串中的短语。在本节中,我们将探讨如何在 Java 中实现这一点。首先,让我们定义“反转交换”的含义...
5 分钟阅读
在方法之间传递和返回对象是 Java 编程的基本功能,对于创建可靠的、模块化的程序至关重要。在本节中,我们将讨论 Java 中对象传递和返回,探索各种类型和方法,并提供完整的...
5 分钟阅读
如何在 Java 中获取时间戳 时间戳是一系列字符或编码信息,用于标识某个事件发生的时间,通常给出日期和一天中的时间,有时精确到小数的某个分数。时间戳通常与计算机事件相关,但是...
阅读 3 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India