在 Java 中使用下划线 (_) 作为变量名
在 Java 编程的广阔领域中,最引人入胜的方面之一就是它对变量命名的选择。其中,使用下划线 (_) 作为变量名是一个引发了大量讨论和争论的话题。本文将深入探讨在 Java 中使用下划线作为变量名的用法,探索其在不同 Java 版本中的演变以及其在当前 Java 编程世界中的现状。
Java 中下划线的传奇
Java 编程的一个独特方面在于它允许命名变量。下划线或“_”是一个有效的字符,可以用于变量名,但其用法在不同版本的 Java 中发生了重大变化。
早期 Java 版本(直至 Java 7)
在 Java 7 之前的 Java 版本中,完全允许使用下划线作为变量名。程序员可以使用单个下划线声明一个变量,代码将编译并运行而没有任何问题。
int _ = 10;
过渡期 - Java 8
在 Java 8 中,情况开始发生变化。使用下划线作为变量名已成为一种不鼓励的做法。实际上,如果您尝试使用单个下划线来命名变量,编译器会发出警告。但是,它仍然会编译并运行代码。该警告是未来 Java 版本中即将发生变化的预兆。
重大变化 - Java 9 及更高版本
Java 9 在这方面引入了一项重大更改。不再允许使用单个下划线来命名变量,尝试这样做会导致编译时错误。这与以前的版本相比是一个巨大的转变,并且是为了释放下划线以便在将来的版本中用作关键字而进行的。但是,使用多个下划线(如“__”或“_”)仍然有效。
为什么更改?
人们可能会好奇为什么在 Java 9 中引入了这样的更改。答案在于增强语言的愿望。目的是释放下划线字符,以便在将来的 Java 版本中将其用作关键字或具有特殊含义的标识符。
事实上,从 Java 10 开始,下划线字符已被重新利用,现在用作关键字来表示 lambda 表达式中未使用的参数。例如
BiConsumer<Integer, Integer> printer = (a, _) -> System.out.println(a);
在此示例中,下划线字符用于表示 BiConsumer 的第二个参数在 lambda 表达式中未使用。
结论
Java 中下划线的历程非常引人入胜。从最初的完全有效的标识符,它转变为一种不鼓励的做法,最终如果用作独立变量名则会导致编译时错误。在 Java 9 中引入的此更改并非仅仅是任意决定,而是为了为下划线在语言的未来版本中提供特殊用途而采取的战略举措。
这提醒我们语言是如何发展以及某些元素如何可以被重新利用以促进代码的表达性和效率。Java 中的下划线就是一个很好的例子,它说明了即使像变量命名约定这样简单的事情,也可能为了改进语言而发生重大变化。
作为开发人员,务必了解这些更改并理解其原因和影响。了解 Java 中功能的演变,例如使用下划线作为变量名,可以让您编写更简洁、更高效且面向未来的代码。始终保持学习,与语言一起发展,并不断提高您对 Java 的技能和理解。