作家
登录

这10条不得不提的Java编程技巧让你受益终生!

作者: 来源: 2017-11-21 10:53:18 阅读 我要评论

final int j = 2;

...

}

因为,你知道的…你的用户们,他们就像如许

// This library sucks

@SuppressWarnings("all")

Object t = (Object) (List) Arrays.asList("abc");

bad(t);

// Watch out

信赖我,我看过的多了,还有如许的

所以说偏执是有好处的。

8. 老是在switch语句里加上default(好技巧文)

Switch…作为最滑稽的表达式之一,我不知道是该心存敬畏照样默默哭泣。不管如何,我们既然无法摆脱 switch ,在须要的时刻我们最好可以或许精确应用它,例如:

// Bad

switch (value) {

case 1: foo(); break;

case 2: bar(); break;

}

// Good

switch (value) {

case 1: foo(); break;

case 2: bar(); break;

default:

throw new ThreadDeath("That'll teach them");

}

是的,这是会产生的。你认为你写了一个超好的API,它真的是既酷炫又直不雅;接着就出现了一群用户,他们只是把一切类型生搬硬套进 Object 中 直到那该逝世的编译器停止工作,然后他们忽然链接到了缺点的办法,认为这一切都是你的错(工作老是如许)。

因为在当 value=http://news.51cto.com/art/201711/3 被惹人到软件中的时刻,default 就能发患咀用,使颇┞俘常运行!别和我提 enum 类型,因为这对 enums 也一样实用。

9. 用大年夜括号隔开 switch 的每一个 case 块(技巧文)

事实上,switch是最坑爹的语句,任何喝醉了或是赌输了的人都可以在某种说话中应用它。看看下面这个例子:

// Bad, doesn't compile

switch (value) {

case 2: int j = 2; break;

}

// Good

for (int i = 0; i < files.length; i++) {

break;

}

case 2: {

break;

}

// Remember:

default:

throw new ThreadDeath("That'll teach them");

}

在switch语句中,为所有的case都只定义了一个感化域。事实上,这些case不是真正意义上的语句,他们更像是标签,而switch就是指向这些标签的goto语句。事实上,你甚至可以把case语句和 惊人的FORTRAN77项声明 类比,对于FORTRAN,它的神秘已经超出了它的功能。

这意味着变量final int j 可以被任何case拜访,不论我们是否有break。看起来并不是很直不雅。我们可以经由过程添加简单的花括号为每一个case创建一个新的嵌套的感化域,当然不要忘了在每个 case 的语句块最后加 break。

【编辑推荐】

  1. 法度榜样员宣布:一张图读懂支撑阿里双十一1682亿的技巧架构体系
  2. 法度榜样员花2小时总结:20个异常有效的Java法度榜样片段
  3. 这种技巧可以或许替代 Android 原生开辟?
  4. 法度榜样员Java编程进阶的5个留意点,别编程两三年照样增删改查!
  5. Java EE成为以前,Eclipse为其“改名”望成为顶级开源项目!
【义务编辑:张燕妮 TEL:(010)68476606】

// Bad



  推荐阅读

  Github一周热门项目总结:自然语言处理Python库spaCy最热!

【编辑推荐】 你想找的Python材料这里全都有!没有你找不到!史上最全材料合集 Python开辟中若何应用Hook技能 Python中的优化,大年夜神的法度榜样比我们写的快五倍,本来是如许做的! Python转JavaScri>>>详细阅读


本文标题:这10条不得不提的Java编程技巧让你受益终生!

地址:http://www.17bianji.com/lsqh/39068.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)