面向 Java 开发人员的 Scala 指南:集合类型
2008-08-27 13:49
531 查看
对于学习 Scala 的 Java™ 开发人员来说,对象是一个比较自然、简单的入口点。在 本系列 前几期文章中,我介绍了 Scala 中一些面向对象的编程方法,这些方法实际上与 Java
编程的区别不是很大。我还向您展示了 Scala 如何重新应用传统的面向对象概念,找到其缺点,并根据 21 世纪的新需求重新加以改造。Scala
一直隐藏的一些重要内容将要现身:Scala 也是一种函数语言(这里的函数性是与其他 dys 函数语言相对而言的)。
Scala 的面向函数性非常值得探讨,这不仅是因为已经研究完了对象内容。Scala
中的函数编程将提供一些新的设计结构和理念以及一些内置构造,它们使某些场景(例如并发性)的编程变得非常简单。
本月,您将首次进入 Scala 的函数编程领域,查看大多数函数语言中常见的四种类型:列表(list)、元组(tuple)、集合(set)和
这些类型都提出了编写代码的新方式。当结合传统面向对象特性时,可以生成十分简洁的结果。
使用 Option(s)
在什么情况下,“无” 并不代表 “什么也没有”?当它为 0 的时候,与 null 有什么关系。
对于我们大多数人都非常熟悉的概念,要在软件中表示为 “无” 是一件十分困难的事。例如,看看 C++ 社区中围绕
进行的激烈讨论,或是 SQL 社区围绕
对于大多数程序员来说都表示 “无”,但是这在 Java 语言中引出了一些特殊问题。
考虑一个简单操作,该操作可以从一些位于内存或磁盘的数据库查找程序员的薪资:API 允许调用者传入一个包含程序员名字的
通常表示没有在数据库中找到该用户(您可能认为应该抛出一个异常,但是大多数时候数据库丢失值并不能视为异常,因此不应该在这里抛出异常)。
在 Java 代码中,我们最终将方法标记为返回
null。自然,
本文转自IBM Developerworks中国
请点击此处查看全文
编程的区别不是很大。我还向您展示了 Scala 如何重新应用传统的面向对象概念,找到其缺点,并根据 21 世纪的新需求重新加以改造。Scala
一直隐藏的一些重要内容将要现身:Scala 也是一种函数语言(这里的函数性是与其他 dys 函数语言相对而言的)。
Scala 的面向函数性非常值得探讨,这不仅是因为已经研究完了对象内容。Scala
中的函数编程将提供一些新的设计结构和理念以及一些内置构造,它们使某些场景(例如并发性)的编程变得非常简单。
本月,您将首次进入 Scala 的函数编程领域,查看大多数函数语言中常见的四种类型:列表(list)、元组(tuple)、集合(set)和
Option类型。您还将了解 Scala 的数组,后者对其他函数语言来说十分新鲜。
|
使用 Option(s)
在什么情况下,“无” 并不代表 “什么也没有”?当它为 0 的时候,与 null 有什么关系。
对于我们大多数人都非常熟悉的概念,要在软件中表示为 “无” 是一件十分困难的事。例如,看看 C++ 社区中围绕
NULL和 0
进行的激烈讨论,或是 SQL 社区围绕
NULL列值展开的争论,便可知晓一二。
NULL或 null
对于大多数程序员来说都表示 “无”,但是这在 Java 语言中引出了一些特殊问题。
考虑一个简单操作,该操作可以从一些位于内存或磁盘的数据库查找程序员的薪资:API 允许调用者传入一个包含程序员名字的
String,这会返回什么呢?从建模角度来看,它应该返回一个
Int,表示程序员的年薪;但是这里有一个问题,如果程序员不在数据库中(可能根本没有雇用她,或者已经被解雇,要不就是输错了名字……),那么应该返回什么。如果返回类型是
Int,则不能返回 null,这个 “标志”
通常表示没有在数据库中找到该用户(您可能认为应该抛出一个异常,但是大多数时候数据库丢失值并不能视为异常,因此不应该在这里抛出异常)。
在 Java 代码中,我们最终将方法标记为返回
java.lang.Integer,这迫使调用者知道方法可以返回
null。自然,
本文转自IBM Developerworks中国
请点击此处查看全文
相关文章推荐
- 面向 Java 开发人员的 Scala 指南:构建计算器,第 2 部分
- 面向 Java 开发人员的 Scala 指南: 深入了解 Scala 并发性2
- 面向 Java 开发人员的 Scala 指南: 深入了解 Scala 并发性
- (转载)面向 Java 开发人员的 Scala 指南: 类操作
- 面向 Java 开发人员的 Scala 指南:包和访问修饰符
- 面向 Java 开发人员的 Scala 指南: 类操作
- 面向 Java 开发人员的 Scala 指南:关于特征和行为
- 面向 Java 开发人员的 Scala 指南系列
- 面向Java开发人员指南:数组和集合
- 面向 Java 开发人员的 Scala 指南: 深入了解 Scala 并发性
- 面向 Java 开发人员的 Scala 指南: 面向对象的函数编程
- 面向 Java 开发人员的 Scala 指南: 深入了解 Scala 并发性
- 面向 Java 开发人员的 Scala 指南: 面向对象的函数编程
- 面向 Java 开发人员的 Scala 指南: 构建计算器,第 1 部分
- 面向 Java 开发人员的 Scala 指南: 深入了解 Scala 并发性
- 面向 Java 开发人员的 db4o 指南: 结构化对象和集合
- 面向 Java 开发人员的 db4o 指南: 事务、分布和安全性
- cobol声明变量面向Java开发人员的Flex开发指南
- 面向 Java 开发人员的 db4o 指南: 简介和概览
- 面向 Java 开发人员的 db4o 指南