java查看变量类型的方法(将日期从string转成date) -九游会ag

现在 java 11发布已有一段时间了,是时候慢慢来学习一些java新版本中的新功能特性了。

今天要实战讲解的的是 在java 10 中添加的最重要的特性:局部变量类型推断,大家都知道是 var 关键字,但具体怎么使用,及要注意什么要点呢?

我们通过几个例子来讲解局部变量类型推断这个新特性!

var javastack = “javastack”;

system.out.println(javastack);

大家看出来了,局部变量类型推断就是左边的类型直接使用 var 定义,而不用写具体的类型,编译器能根据右边的表达式自动推断类型,如上面的 string 。

var javastack = “javastack”;

就等于:

string javastack = “javastack”;

既然叫局部变量类型推断,以只能用在局部变量中,下面给出更多使用示例。

1、字面量定义局部变量

private static void testvar() {

var javastack = “javastack”;

system.out.println(javastack);

}

2、接收方法返回值定义局部变量

private static void testmethod() {

var javastack = getjavastack();

system.out.println(javastack);

}

public static string getjavastack() {

return “javastack”;

}

3、循环中定义局部变量

private static void testloop() {

for (var i = 0; i < 3; i ) {

for (var m = 10; m < 15; m ) {

system.out.println(i m);

}

}

}

4、泛型结合局部变量

private static void testgeneric() {

// 表达式1

list list1 = new arraylist<>();

list1.add(“javastack”);

// 表达式2

var list2 = new arraylist<>();

list2.add(2018);

// 表达式3

var list3 = new arraylist();

list3.add(“javastack”);

}

表达式1后面 <> 里面 jdk 1.7 开始是不用带具体类型的,在接口中指明就行了。

表达式2中如果使用 var 的话, <> 里面默认会是 object 的,所以可以添加任意类型。

表达式3中在 <> 强制使用了 string 来指定泛型。

1、类成员变量类型

// 编译报错

private var javastack = “牛旦教育it课堂;

2、方法返回类型

/**

* 编译报错

* @return

*/

public static var getjavastack(){

return “牛旦教育it课堂”;

}

3、lambda 表达式

private static void testlambda() {

runnable runnable = () -> system.out.println(“javastack”);

// 编译报错

// var runnable = () -> system.out.println(“javastack”);

}

以上 3 种场景是肯定不能使用 var 的,其他场合有待验证。

优点:简化代码

copyonwritearraylist list1 = new copyonwritearraylist();

concurrentmodificationexception cme1 = new concurrentmodificationexception();

defaultserviceunavailableretrystrategy strategy1 = new

defaultserviceunavailableretrystrategy();

var list2 = new copyonwritearraylist<>();

var cme2 = new concurrentmodificationexception();

var strategy2 = new defaultserviceunavailableretrystrategy();

从以上代码可以看出,很长的定义类型会显得代码很冗长,使用 var 大大简化了代码编写,同时类型统一显得代码很对齐。

缺点:掩盖类型

var token = new jsonparserdelegate(parser).currenttoken();

看以上代码,不进去看返回结果类型,谁知道返回的类型是什么?所以这种情况最好别使用 var,而使用具体的抽象类、接口或者实例类型。

var其实就是 java 10 增加的一种语法糖而已,在编译期间会自动推断实际类型,其编译后的字节码和实际类型一致,如以下例子所示。

private static void testbytecode() {

string javastack1 = “javastack”;

var javastack2 = “javastack”;

}

编译成字节码后:

private static testbytecode()v

l0

linenumber 22 l0

ldc “javastack”

astore 0

l1

linenumber 23 l1

ldc “javastack”

astore 1

l2

linenumber 24 l2

return

l3

localvariable javastack1 ljava/lang/string; l1 l3 0

localvariable javastack2 ljava/lang/string; l2 l3 1

maxstack = 1

maxlocals = 2

可以看出 javastack1 和 javastack2 都是虚拟机所认识的的本地变量类型: java.lang.string,虚拟机并不认识 var, 所以 var 并不神奇。

ok,本次关于 java 10 中新添功能,即局部变量类型推断实战文章就到这里了,后续带来更多的 java 新版的特性功能实战方面的文章。

派优网部分新闻资讯、展示的图片素材等内容均为用户自发上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习交流。用户通过本站上传、发布任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的九游会ag的版权,请联系九游会ag一经核实,立即删除。并对发布账号进行封禁。
(0)
发布专员的头像发布专员

相关推荐

  • 可以说2022年的电视盒子市场变化还是蛮大的,低端价位的占有率降低,中高端价位的占有率升高,这也意味着今后行业的发展可能会以中高端产品为主,同时也更加注重电视盒子产品的创新、多功能…

    2022年8月31日 资讯投稿
  • 把所有人说的技巧都扔一边去,去找本质,这些都是华而不实的东西。有粉丝说明内容有价值,有价值说明你能为观众带来干货,干货便是对粉丝有用的东西!你能做出来对他人有用的东西,就是你成功的…

    2023年1月24日
  • 随着教育的发展,越来越多的家长开始选择民办学校,但是在选择民办学校之前,我们需要了解一些重要的信息,例如:民办学校是否正规,是否有资质,是否符合教育部的要求等等。本文将从以下几个方…

    2023年7月15日
  • 再过一个多月就到2021年了,选择回农村创业未尝不是一个更佳的选择,相比较城市打工和创业的高昂开支成本,农村更适合广大青年开展一番事业。 如今回农村创业搞种植项目就是一个不错的选择…

    2022年9月30日 资讯投稿
  • 做为短视频流量圣地的抖音,无疑是各大媒体人,中小企业,盯着的大蛋糕,说的明白一些,做抖音无非两大目的:展现和变现。 但是大家都卡的到运营抖音的后,没有粉丝,没有播放量,今天的我们根…

    2022年5月20日
  • 山东文科320分可以上的专科,选择适合自己的专业才能更好就业 随着高考成绩的公布,许多学生开始为自己的未来规划而忧心忡忡。对于文科生而言,320分的成绩虽然不算太高,但仍然有很多专…

    2023年9月16日
  • 楚河汉街美食特产,品味河南独特美食,探寻地道特产

    河南是中国的中部省份,位于黄河中游,素有“中华文明的发祥地”之称。河南拥有丰富的历史文化和自然资源,同时也是一个美食之都。在河南,有许多独特的美食特产,其中楚河汉街是一个集中展示河…

    2023年9月29日
  • 做一个书单账号其实很简单,只需要把在书籍中看到的一些片段通过配音软件加工成音频,然后把这段音频添加到风景素材当中加入字幕,一段完整的视频就制作出来了。 然后把这段视频发布到自媒体平…

    2022年8月22日 资讯投稿
  • 许多人在室内装修的时候,总是会尝试那些新颖的装修设计,有些装修设计虽然看起来不太实用,但许多人还是会遵从大家的意见选择,但没想到的是,这5个看起来不靠谱的设计,入住半年后,反而越用…

    2023年8月9日 资讯投稿
  • 宁波是一个充满美食的城市,这里有许多独特的特产美食,让人们流连忘返。如果你计划前往宁波旅游,那么品尝当地的美食是必不可少的一项活动。在这里,我将为您推荐一些宁波的便宜特产美食,并分…

    2023年9月16日
返回顶部
网站地图