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-...
赠送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 ...
1. Scala语言特性:Scala是一种针对Java虚拟机(JVM)的编程语言,它将面向对象和函数式编程的特性无缝融合,旨在提供一种简洁、优雅且类型安全的方式来表达常见的编程模式。其目标是提高Java程序员的编程效率。 2....
在现代软件开发中,Java和Scala是两种广泛使用的编程语言。它们各有特色,Java以其稳定性和广泛的社区支持而著名,Scala则以其强大的函数式编程特性及对Java虚拟机(JVM)的无缝集成受到青睐。当一个项目中同时包含...
Scala是一种强大的静态类型编程语言,它在语法上兼容Java,并且提供了函数式编程和面向对象编程的特性。通过Maven,我们可以轻松地在Java项目中引入Scala代码,反之亦然。 首先,要实现Java和Scala的互调用,我们...
《面向Java开发人员的Scala指南》是一本专为熟悉Java编程语言的开发者设计的书籍,旨在帮助他们理解和掌握Scala这门强大的多范式编程语言。Scala结合了面向对象和函数式编程的特点,提供了更高的代码抽象能力和性能...
7. **组合与继承**:Scala支持传统的继承机制,同时还提供了一种称为“特质”的机制,类似于Java中的接口,但功能更加强大,可以包含具体的方法实现。 8. **Scala的层次结构**:Scala有一套完整的类层次结构,所有的...
《Scala程序设计:Java虚拟机多核编程实战》是一本专为程序员和有经验的Java开发者设计的书籍,旨在引导读者掌握Scala语言,利用其功能强大的特性进行并发编程。Scala是一种融合了函数式和面向对象编程特点的静态...
Scala是一种多范式编程语言,它融合了面向对象和函数式编程的概念,旨在提供一种高效、灵活且可扩展的编程环境。"Scala程序设计第二版高清PDF"是学习这一强大语言的重要资源,无论你是初学者还是有经验的开发者,都...
Scala是一种强大的、面向对象和函数式的编程语言,可以利用Java的库来处理中文字符。JDK本身就包含了一个名为`sun.awt.font`的包,虽然不是公开API,但通常可以用于判断汉字的简繁体。以下是一个简单的Scala示例,...
书中的内容可能涵盖了线程管理、同步机制(如锁和条件变量)、actor模型(Scala支持的一种并发编程模型)、Akka框架的应用,以及如何通过Scala来编写可扩展和高效的代码以充分利用多核处理器的性能。 **标签:Scala...
标题中的“Scala Java相关开发工具”表明我们讨论的是与Java和Scala编程语言相关的开发环境和工具。Java和Scala都是在JVM(Java虚拟机)上运行的语言,它们有着紧密的联系,但各自拥有独特的特性和用途。 首先,...
本书循序渐进地介绍了Scala的函数式编程基础,虽然篇幅短小,却切中要害。读者可以学会使用Scala静态语言的强大功能创建简洁、可扩展、高度可并行的代码。对于多核时代JVM上的并发编程,Scala是绝好的工具,而本书是...
Scala的关键特性之一是其强大的类型系统,它允许开发者在编译时捕获许多潜在的错误。与Java不同,Scala支持类型推断,这意味着程序员不必在每个变量声明前都指定类型,编译器可以根据上下文自动推断。此外,Scala的...
在编程世界中,Scala和Java是两种广泛应用的编程语言,尤其在企业级应用开发中占据重要地位。Scala,作为一门多范式编程语言,融合了面向对象和函数式编程的特性,为开发者提供了更高级别的抽象,而Java以其稳定性和...
由于Scala可以无缝集成到Java生态系统中,开发者可以在一个项目中同时使用两种语言,利用Scala的高级特性增强Java代码。 **经验技巧** 五页的PDF文档可能涵盖了以下几点: 1. **环境配置**:如何在Jelastic平台上...
Scala中的mixin继承是一种特殊的多重继承方式,它允许开发者将代码的模块化到可重用的片段中,也就是mixin,然后这些mixin可以在类的层次结构中被混入。Mixin继承与单继承和多重继承相比,它提供了一种更为灵活的...
Scala是一种强大的多范式编程语言,它融合了面向对象和函数式编程的特性,为Java开发者提供了一种更高效、更简洁的编程选择。在Java开发领域,Servlet是用于构建Web应用程序的标准API,广泛应用于服务器端编程。本...