try{
return x;
}catch(Excpeiont e){
return y;
}
finally{
return z;
}
这样的代码无论如何都返回z,那么上面的任何return都显得没有意义。所以我们在绝大多数情况下都不会在finally中使用return语句,
因为这使得这个方法几乎返回一个恒定的结果。但这并不能保证一个水平很差的程序员在finally中返回结果。我说的是即使你有需要这样做,
也完全可以换个方式来达到目前的,而不是写出在finally中返回结果这样烂的代码,因为这本身是不符合逻辑的。
既然没有必要在finally中返回结果,又会引起一些人的误用,为什么不直接禁止在finally中返回结果呢?它本来的目的就是为了保证必要的“操作”
而不是“返回结果”。所以完全可以设计为在finally中禁止return语句,这样既达到本来的目的,又不会使用任何人误用。比如
try{
return x;
}catch(Excpeiont e){
return y;
}
finally{
close(z);
}
非常可惜的是这个意见还不能向JLS提出,因为从java一出生已经这样设计了,突然在某一版本中改变的话,向前兼容就成了一句空话。
分享到:
相关推荐
赠送jar包:scala-java8-compat_2.11-0.7.0.jar; 赠送原API文档:scala-java8-compat_2.11-0.7.0-javadoc.jar; 赠送源代码:scala-java8-compat_2.11-0.7.0-sources.jar; 赠送Maven依赖信息文件:scala-java8-...
a tour of Scala, a comparison between Java and Scala, Scala-specific features and functional programming idioms, and finally a discussion about adopting Scala in existing Java teams and legacy ...
博客配套文件,详细演示了在maven中如何混合编译java和scala共存的代码。
赠送jar包:scala-java8-compat_2.11-0.7.0.jar; 赠送原API文档:scala-java8-compat_2.11-0.7.0-javadoc.jar; 赠送源代码:scala-java8-compat_2.11-0.7.0-sources.jar; 赠送Maven依赖信息文件:scala-java8-...
本书循序渐进地介绍了Scala的函数式编程基础,虽然篇幅短小,却切中要害。读者可以学会使用Scala静态语言的强大功能创建简洁、可扩展、高度可并行的代码。对于多核时代JVM上的并发编程,Scala是绝好的工具,而本书是...
SCALA程序设计-JAVA虚拟机多核编程实战
资源名称:Scala程序设计:Java虚拟机多核编程实战资源截图: 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。
本项目是基于Scala和Java开发的Spark学习项目设计源码,主要使用Scala进行开发。项目共包含576个文件,其中Scala源代码文件scala 533个,Java源代码文件java 21个,XML配置文件xml 10个,Properties配置文件...
Scala for Java Developers. Scala for Java Developers
Martin Odersky 用他定义的匹萨语言给了 Java世界一个很大的冲击。尽管匹萨本身没有流行 但它展现了当把面向对象和函数型语言两种风格,技术地且很有品地混搭在一起时,就形成了 自然和强有力的组合。匹萨的设计成为...
scala:Scala和设计模式 疯狂代码 http://CrazyCoder.cn/ ĵ:...用方便性也很重要不妨让我们来看看Scala(种类似Ruby/Lisp的类语言它定程度上降低了模式实现繁琐)中常用 些模式 ; ; ; ; 1.Singleton(单体模式) ;
可以用scala ,也可以用java,我主要的目的是用来判断汉字是否为繁体,
本资源提供了一套基于Scala和Java的Spark大数据处理平台的设计源码,包含14244个文件,其中包括4014个Scala源代码文件,1559个Q文件,1009个文本文件,983个Java源代码文件,488个Python脚本文件,403个SQL文件,...
面向Java开发人员的Scala指南 面向Java开发人员的Scala指南
Scala 程序设计 pdf 写spark都得学scala啊 java程序员必学
这些设计用于使用Java 8 lambda语法方便地构造Scala函数。 用法 import scala.concurrent.* ; import static scala.compat.java8.JFunction.* ; class Test { private static Future< Integer> futureExample ( ...
Scala程序设计第2版 Scala 是一门多范式(multi-paradigm)的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性。 Scala 运行在Java虚拟机上,并兼容现有的Java程序。
图灵书籍包括Scala程序设计(第2版).pdf、Scala程序设计-JAVA虚拟机多核编程实战.pdf。
本书介绍Scala基本语法、构造。以及如何将您已经知道的复制java语法转换为Scala,了解Scala除了javabecome之外还提供了哪些功能编程概念和惯用技巧和建议,这些技巧和建议在将现有java项目转换为Scala时非常有用
本源码项目是基于Scala和Java的Spark Binlog数据源设计,包含56个文件,主要使用Scala、Java和Shell编程语言。该项目是一个支持HBase/MySQL Binlog的Spark structured streaming数据源。通过该项目,开发者可以学习...