当前位置:首页 > 每日看点

java不支持值类型struct,带来了哪些优势?

卡卷网1年前 (2025-01-12)每日看点278

说实话,最开始我也觉得这是个设计缺陷。毕竟C++、C#都支持struct,为啥Java偏要特立独行? 直到有一天我突然开窍...

简单统一才是王道

想象一下,如果你在厨房做菜,有十种不同形状的铲子,每个都有特定用途。听起来很专业对吧?但实际上99%的时候,一个标准铲子就能搞定所有事情。

Java正是秉承了这种理念 —— Everything is an Object(除了基本类型)。不用再纠结用struct还是class,不用考虑值类型和引用类型的区别,所有的复杂类型都是对象。这种简单统一的设计思想,让代码更容易理解和维护。

一直有的一个疑惑:性能真的会差吗?

没有struct到底会不会影响性能? 实际上JVM的逃逸分析和标量替换优化可以智能地将对象优化成栈上分配,现在的内存访问已经非常快,另外对象池等设计模式可以很好地解决频繁创建对象的问题

就像现在的手机CPU和内存都这么强了,你还会在意微信多用了1MB内存吗?

带来的优势:面向对象更纯粹

记得大学刚学编程时,Java课的老师跟我们说:"编程范式就像武功招式,你可以学很多种,但要成为大师,得专精一门。"

Java取消struct,某种程度上迫使我们更多地思考面向对象的设计。当你不能用struct简单封装数据时,自然会思考更多关于对象职责、封装、继承这些面向对象的核心概念。

举个栗子:

// 如果有struct struct Point { int x; int y; } // 没有struct时你会更多思考面向对象的设计 class Point { private int x; private int y; public void moveTo(int x, int y) { // 可以加入边界检查等业务逻辑 this.x = x; this.y = y; } }

软件开发中有个真理:唯一不变的就是变化。今天你用struct封装的简单数据结构,明天可能就需要添加行为和状态管理。

java不支持值类型struct,带来了哪些优势?  第1张

Java的设计鼓励你一开始就用面向对象的方式思考,这样未来扩展时就不会遇到重构的烦恼。


写在最后

所以说,Java不支持struct看似是个限制,实际上是一种很有远见的设计选择。有时候看似的不足,恰恰成就了一个技术的伟大。

克制不是缺陷,专注才会专业。

如果觉得文章有帮助,欢迎点赞+关注, 我是旷野,探索无尽技术!

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2025/01/8974.html

分享给朋友:

相关文章

怎么免费看电视地方台和央视台?

怎么免费看电视地方台和央视台?

免费看央视和地方台,办法当然有,而且太多了,我怕你挑花了眼用不过来…… 首先题主需要明确一点,你家的电视需要是基于安卓系统的智能电视,能安装第三方安卓电视软件。比如小米电视、雷鸟电视等等;如果不是,你至少需要购置一个电视盒子,比如小米电视盒…

为什么大家不再提 5G 了?

现在看来,只有美国那种5g的思路是对的。 美国的运营商一开始就发现5g和4g并没有质的飞跃,无非就是提升频率/降低穿透力/提升带宽的故事。而美国运营商又是自负盈亏,因此一开始就仅在人口高密度地区或富裕地区布置5g。 虽然说人家4g也菜,但是…

为什么我们一直在给B站充大会员但B站却一直处于亏损状态?

我讲一下离谱的真相吧,欢迎喷我。 很多人都觉得B站在赶走人才,赶走优秀的长视频创作者,也觉得知乎在这么做,是没错的。 确实在这么做。而原因很简单。 只有影响力很大的KOL才有商业价值。 (KOL是指“关键意见领袖”)而你说你是人才? 对不起…

计算机专业不干互联网不热爱技术,还能转行干什么?

转行的思路,无非也就是那几个。 我们顺着每个思路,一路捋一遍,基本上,大致可行的方向,也就有了。 一、跟对口职业和岗位业务链条相邻的职业和岗位计算机专业如果找到了对口的技术岗位,跟技术工作联系最紧密的岗位是什么? 产品经理。当然,大多数产品…

如何做电商行业?

如何做电商行业?

“如何做电商*开网店”跟“如何找老婆”一样,没概况条件、没明确标准,就是扯犊子。 我把话题具体一点说: 具备“两三万”启动资金、掌握“选品+上架优化”基础技能,小则月入三五千、多则上万。跟摆地摊一样,有进货的钱、也不怕苦不怕累、稍微有点生意…

想入个键盘,想买机械的但是太贵,求知友推荐一款手感比较好的薄膜键盘?

想入个键盘,想买机械的但是太贵,求知友推荐一款手感比较好的薄膜键盘?

相信很多接触过286的90后朋友都和我有一样的体会,以前的机械键盘真的是让人头皮发麻,不仅敲击要非常用力,而且很吵。所以后面随着大家的生活消费水平的上升,家家户户都有电脑了,自然也不想再用打字来宣扬自己有电脑的优越感,基本上大家都换成了又轻…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。