当前位置: 首页 > news >正文

重庆当地网站网站企业建设方案

重庆当地网站,网站企业建设方案,国内做的比较好的网站是什么,500个短视频素材免费go语言var 和makeJava中的var是什么 在Java 10中引入的var预定义类型使您可以在为变量分配值时声明局部变量#xff0c;而无需指定变量的类型。 当给变量赋值时#xff0c;表达式的类型已经定义了变量的类型#xff0c;因此没有理由在行的左侧再次键入类型。 例如#xff0… go语言var 和make Java中的var是什么 在Java 10中引入的var预定义类型使您可以在为变量分配值时声明局部变量而无需指定变量的类型。 当给变量赋值时表达式的类型已经定义了变量的类型因此没有理由在行的左侧再次键入类型。 例如当您具有一些带有泛型的复杂长类型时这特别好 HashMapString,TreeMapInteger,String myMap mapGenerator(); 您可以在以前的Java版本中继承的泛型类型但是现在您只需输入 var myMap mapGenerator(); 这比以前的版本更简单并且大多数时候可读性更高。 var的目的主要是可读性。 重要的是要了解以这种方式声明的变量将具有类型并且这种新的预定义类型不是关键字的引入不会使Java成为动态语言。 您可以通过某些方式做到这一点这是您以前无法做到的或者只能以更加冗长的方式做到。 例如当您将匿名类的实例分配给变量时可以通过var声明的变量调用该类中的声明方法。 例如 var m new Object{ void z(){} } mz(); 您可以调用方法z()但代码 Object m new Object{ void z(){} } mz(); 不编译。 您可以这样做因为匿名类实际上在其诞生时就有一个名称因此当实例分配给声明为Object类型的变量时它们只会丢失名称。 var关键字有一些阴暗的部分。 这样我们违反了实例化具体类的通用规则但是将变量声明为接口。 这是我们通常在Java中通常遵循的通用抽象规则。 当我创建一个返回HashMap的方法时通常将返回值声明为Map 。 这是因为HashMap是返回值的实现因此与调用者无关。 我在返回类型中声明的是我返回实现Map接口的内容。 我的工作方式是我自己的责任。 同样如果可能的话我们通常将类中的字段声明为某种接口类型。 局部变量也应遵循相同的规则。 几次当我声明要Set的局部变量但实际值是TreeSet然后键入代码时对我很有帮助。 然后我意识到我正在使用某些不是Set而是SortedSet 。 它帮助我认识到在特殊情况下排序性很重要这对于调用者也很重要因此我不得不将方法的返回类型也更改为SortedSet 。 请注意此示例中的SortedSet仍然是接口而不是实现类。 通过使用var我们将失去它并且获得了稍微简单一些的源代码。 一如既往这是一个折衷。 在使用局部变量的情况下就源代码而言该变量的使用与声明很接近因此开发人员可以一目了然地了解发生了什么以及发生了什么因此这种折衷的“坏”方面是可以接受的。 在方法返回值或字段的情况下无法进行相同的折衷。 这些类成员的使用可以在不同的类不同的模块中。 看到这些值的所有用法不仅很困难而且也可能是不可能的因此在这里我们仍然沿用旧的方式声明类型。 var的未来只是想法 在某些情况下甚至不能将var用于局部变量。 很多时候我们有以下编码模式 final var variable; // this does not work in Java 11 if ( some condition ) { variable expression_1 // do something here } else { variable expression_2 // do something here } 这里我们不能使用var因为声明本身没有赋值给变量的表达式。 但是编译器可以扩展。 从现在开始我所谈论的不是Java。 这就是我想象的将来的版本。 如果结构简单并且“在这里做某事”为空则可以将结构转换为三元运算符 final var variable some condition ? ( expression_1 ) : (expression_2) var variable some condition ? ( expression_1 ) : (expression_2) 在这种情况下即使我们使用Java的旧版本例如Java 11也可以使用var声明。但是请小心 var h true ? 1L : ? 1L : 3.3 ; 在此示例中变量h的实际类型是什么 Number 三元运算符具有复杂且特殊的类型强制规则由于两个表达式彼此靠近通常不会引起任何问题。 如果我们让上述结构使用类似的类型强制则表达式彼此之间的距离并不那么紧密。 到目前为止Java的距离已经足够远不允许使用var类型定义。 我个人的观点是应在将来的某个时候扩展var声明以允许使用上述结构但仅在两个或两个或更复杂的结构表达式具有完全相同的类型的情况下才可以。 否则我们可能最终得到一个表达式该表达式导致一个int 另一个表达式导致一个String 那么变量的类型将是什么 回答前请勿偷看图片 这个很好的例子是Nicolai Parlog给出的。 我还可以想象将来我们会拥有类似于Scala val东西它是Java 11中的final var 。我不喜欢var vs. val命名。 这是极度性感和怪异的但很容易将一个人误认为另一个人。 但是如果我们有一个以final关键字开头的局部变量声明那么为什么之后需要var关键字呢 最后我确实相信var是Java 11中的出色工具但我也希望将来它的作用会得到扩展。 翻译自: https://www.javacodegeeks.com/2019/03/var-language-design.htmlgo语言var 和make
http://www.huolong8.cn/news/388167/

相关文章:

  • 国通快速建站三站一体网站制作
  • 建设网站域名手机如何网站模板
  • 开发一个商城网站多少钱做外贸怎样打开国外网站
  • 快速网站建设价格做网站东莞选哪家公司好
  • 专业企业网站搭建推荐美发网站 源代码
  • 如何做分类网站信息营销如何提高网站打开速度
  • 购物网站论文帮我注册一个账号
  • 西安做兼职网站设计怎样做直播网站
  • 学校网站群建设思路国外网站域名
  • 郓城网站建设费用婚纱摄影网页
  • 如何将网站地图提交给百度建设企业网站哪家有实力
  • 英文版网站建设方案山东胜越石化工程建设有限公司网站
  • 网站备案详细最新流程嘉禾手机网站建设
  • 政务公开网站建设情况湖南seo优化
  • 天津网站运营网页美工设计脚本
  • 营销型的网站要多少钱网站推广的6个方法是什么
  • 徐州公司建站模板公司网站管理属于什么职位
  • 多语言企业网站建设费用个人网站盈利模式
  • 网页设计主要做什么工作北京做网站优化的科技公司
  • 河南整站关键词排名优化软件深圳企业网站建设怎么做
  • 网站建设项目申请书dw是什么软件
  • 网站源码asp做公司网站棋牌
  • 昆明网站建设首选才力wordpress新特性
  • 优秀网站建设方案上海网站建设公司推荐
  • 提供五屏网站建设极简简历官网
  • 上海怎样建设网站揭阳专业网站制作公司
  • 免费弄空间的网站网站建设背景需要写些什么软件
  • 河津网站制作中国科技成就作文800字
  • wordpress建站 购物网站制作一般怎么收费
  • 学校期末评语网站开发四川省建设安全管理协会网站