都已经 2025 年了,为什么 Java Boy 还是不能接受 var 关键字

2025 年 3 月 7 日
 Oxonomy

最近尝试在 PR 里面用了这个 Java10 就有的关键字,结果老外和国人都不能接受,让我改回去。

但是只要把变量命名写的足够表意,我觉得一定程度上是可以使用 var 关键字的。

难道 java boy 不写动态语言吗?

14604 次点击
所在节点    Java
114 条回复
nxforce
2025 年 3 月 7 日
var 表达力是差了点,可以一般用在简单的局部变量里的临时变量,并且命名要带上类型字眼。

还有一种情况,就是多重泛型嵌套的情况下,这个可以简化一点点写法。

其他情况一律不用了。
k9982874
2025 年 3 月 7 日
代码是给人看的,机器能毫秒级推导,人脑能?
给你一个别人的模块去维护,里面全是 var 你骂不骂娘
dddd1919
2025 年 3 月 7 日
var 这个关键字在脚本语言看来都是多余,既然不需要声明类型那直接命名赋值就完了,a = 1
话说回来,代码体量上来了,变量声明类型显然更易读,var 是写的爽(也并没太爽),后面读起来就要挠头了
fredweili
2025 年 3 月 7 日
不同公司和项目的代码规范而已,爱用就在自己的项目尽情的用
Ayanokouji
2025 年 3 月 7 日
确实不好用,比如泛型,后者后面很长的一堆 stream
yanghanlin
2025 年 3 月 7 日
@DOLLOR Lombok 有 val 哦
chendy
2025 年 3 月 7 日
@yazinnnn0 有一说一,这个也就看着复杂其实结构很清晰
但是如果没有后面这一串 IDE 补的类型信息,后人维护代码的时候,起手一个点,然后就不知道改接啥了
flytsuki
2025 年 3 月 7 日
习惯问题吧,我写 C#起手就是一个 var
635925926
2025 年 3 月 7 日
因为然并卵,真正的动态语言应该像 php 那样。啥关键字都不用写。
liuzhaowei55
2025 年 3 月 7 日
我用 Java 就是为了写样板代码来的,不想用 kotlin 也是基于这个原因
Sodacooky
2025 年 3 月 7 日
用过 cpp 的 auto 过来还是能接受 var 的,但也是看场合使用。比如冗长的 new 语句和增强 for 循环里面,看一眼就知道是什么类型,其他情况下就很少用了。
比起这个,2025 年了还有很多 JavaBoy(或者说 SpringBoy?)还不知道有 var 才是更值得担心的。
syubo2810
2025 年 3 月 7 日
var 不 var 有什么关系,我也用过很多早就支持 var 语言,正常写代码你定义这个变量时候早知道类型的,写 var 和指定类型没啥区别
nealHuang
2025 年 3 月 7 日
var 的作用我理解就是左对齐,排版好看,不过可能影响一些可读性吧
litchinn
2025 年 3 月 7 日
用过一次,但出现了别人改了代码居然没有编译错误导致 bug 的情况,就再也不用了
var Tuple; var Triple
HojiOShi
2025 年 3 月 7 日
我写 Java 也喜欢到处用 var ,如果这都不用,那写起来真是太枯燥了。
reavid
2025 年 3 月 7 日
因为每个 Javaer 要遵守一些规范,其中之一就是强类型。你自嗨随便你,但是企业级项目不是你一个人写代码的,你看到满屏幕别人写的 val ,会是什么感受?
fengpan567
2025 年 3 月 7 日
对不起,我只用 Object
InkStone
2025 年 3 月 7 日
@fangxisama var 只是把显式类型标注变成了自动类型推导,也还是静态类型。

新一点的静态类型语言(也几乎天然都是强类型语言),几乎没有需要显式写类型的。因为时代已经不一样了……
TanKuku
2025 年 3 月 7 日
@fengpan567 #37 var 和 Object 可不是一回事,var 还是具体类型
purringpal
2025 年 3 月 7 日
尊重原项目风格,基本操守。但是 2025 年了写代码还在纠结这种鸡毛蒜皮的事情,也是浪费生命。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://study.congcong.us/t/1116515

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX