千家信息网

Java中的常见语法糖块

发表于:2024-11-17 作者:千家信息网编辑
千家信息网最后更新 2024年11月17日,Java中的常见语法糖块,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。语法糖(SyntacticSugar),也称糖衣语
千家信息网最后更新 2024年11月17日Java中的常见语法糖块

Java中的常见语法糖块,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

  语法糖(SyntacticSugar),也称糖衣语法,是由英国计算机学家Peter.J.Landin发明的一个术语,指在计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。简而言之,语法糖让程序更加简洁,有更高的可读性。

  有意思的是,在编程领域,除了语法糖,还有语法盐和语法糖精的说法,篇幅有限这里不做扩展了。

  很多人说Java是一个"低糖语言",其实从Java7开始Java语言层面上一直在添加各种糖,主要是在"ProjectCoin"项目下研发。尽管现在Java有人还是认为现在的Java是低糖,未来还会持续向着"高糖"的方向发展。

解语法糖

  前面提到过,语法糖的存在主要是方便开发人员使用。但其实,Java虚拟机并不支持这些语法糖。这些语法糖在编译阶段就会被还原成简单的基础语法结构,这个过程就是解语法糖。

  如果你去看com.sun.tools.javac.main.JavaCompiler的源码,你会发现在compile()中有一个步骤就是调用desugar(),这个方法就是负责解语法糖的实现的。

switch支持String与枚举

  前面提到过,从Java7开始,Java语言中的语法糖在逐渐丰富,其中一个比较重要的就是Java7中switch开始支持String。

  在开始coding之前先科普下,Java中的swith自身原本就支持基本类型。比如int、char等。

  对于int类型,直接进行数值的比较。对于char类型则是比较其ascii码。

  所以,对于编译器来说,switch中其实只能使用整型,任何类型的比较都要转换成整型。比如byte。short,char(ackii码是整型)以及int。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

0