`
whitesock
  • 浏览: 483269 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

Nothing, Null, Nil, None & Unit in Scala

阅读更多

1 Nothing 是trait,定义为:final trait Nothing extends Any。Nothing处于Scala类型体系的最底层,是所有类型的子类型,Nothing没有实例。

 

2 Null 是trait,定义为:final trait Null extends AnyRef 。Null是所有引用类型的子类型,唯一的一个实例是null。

 

3 Nil 是case object,定义为case object Nil extends List[Nothing], 代表一个空list。由于Scala中的List是协变的,因此无论T是何种类型,Nil都是List[T]的实例。

 

4 None 是case object,定义为:case object None extends Option[Nothing],代表不存在的值。

 

5 Unit 是class,定义为:abstract final class Unit extends AnyVal。Unit跟Java中的void相当,当一个方法不返回任何值的时候,那么方法的类型是Unit。Unit唯一的一个实例是().

分享到:
评论
3 楼 fujohnwang 2011-09-11  
whitesock 写道
fujohnwang 写道
看scala那?呵呵
我都用它写了个消息中间件了

@seealso kafka

Not same thing, not same thought
2 楼 whitesock 2011-09-10  
fujohnwang 写道
看scala那?呵呵
我都用它写了个消息中间件了

@seealso kafka
1 楼 fujohnwang 2011-09-10  
看scala那?呵呵
我都用它写了个消息中间件了

相关推荐

    lua-cjson decode中null改成nil

    `lua-cjson decode中null改成nil`这个话题,实际上是指在使用lua-cjson库进行JSON解码时,用户可能希望保留原始JSON数据中的`null`表示,而不是直接转换为`nil`。这可能是为了保持与JSON数据源的一致性,或者有特定...

    Scala考试题1

    7. **Nil, Null, None, Nothing 的区别**: - `Nil` 是 List 的头对象,表示空列表。 - `Null` 是所有引用类型的子类型,表示空引用。 - `None` 是 Option 类型的一个实例,代表没有值。 - `Nothing` 是所有类型...

    Scala in action

    ### Scala in Action:关键知识点概览 #### 一、为何选择Scala? 1. **高性能与高效率**:Scala 是一种高性能的语言,它被设计成能够高效地运行在 JVM(Java虚拟机)上,这意味着它可以充分利用 Java 生态系统中的...

    scala handbook

    - 语言基础:理解变量声明、基本类型、BigInt、字符串操作、Null、None、Nil、Nothing的概念以及它们的使用。 - 操作符和控制结构:学会使用==和eq,理解Option[T]和类型别名type,以及如何使用if..else和循环操作。...

    scala-2.9.2.jar

    import scala.annotation._ trait Func[T] { val zero: T def inc(t: T): T def dec(t: T): T def in: T def out(t: T): Unit } object ByteFunc extends Func[Byte] { override val zero: Byte = 0 ...

    Scala-part2集合框架

    ### Scala 集合框架详解 #### 集合概述 在Scala中,集合框架提供了丰富的数据结构,以便开发者能够高效地处理各种数据组织需求。集合主要分为三类:序列`Seq`、集`Set`以及映射`Map`。所有这些集合都扩展自`...

    总结IOS中nil、Nil、NULL和NSNull区别

    在Objective-C编程中,了解nil、Nil、NULL和NSNull之间的区别至关重要,因为它们在不同场景下有着不同的用途和含义。下面将逐一详细介绍这些概念。 1. **NULL** NULL是C语言中的一个宏,用来表示空指针。在C语言中...

    Beginning Scala

    ### Scala基础语法详解 #### 一、Scala简介与特点 Scala是一种现代的多范式编程语言,它结合了面向对象编程和函数式编程的特点。Scala的设计目标是解决Java等传统面向对象语言在扩展性和灵活性方面的局限性。Scala...

    IOS 基础之nil,NULL,NSNULL区别详解

    IOS 基础之nil,NULL,NSNULL区别详解 ① nil:一般赋值给空对象。 ② NULL:NULL 是一个通用指针(泛型指针)。 一般赋值给 nil 之外的其他空值。如SEL等。 ③ NSNULL:[NSNull null] 是一个对象,他用在不能使用 ...

    node-no-nil:从对象和数组中删除nil值。 将所有其他nil值转换为null

    将所有其他nil值转换为null。 例子 var noNil = require ( 'no-nil' ) ; var input = [ 1 , undefined ] ; console . log ( noNil ( input ) ) ; // [1]; ##执照 The MIT License (MIT) Copyright (c) 2015 ...

    iOS中json解析出现的null,nil,NSNumber的解决办法

    然而,处理JSON数据时可能会遇到一些问题,比如解析出的`null`、`nil`以及`NSNumber`类型的困惑。这里我们将深入探讨如何解决这些问题。 1. **问题现象** 当服务器返回的JSON数据中某个字段值为`null`时,使用如...

    ios-清理模型中的nil.zip

    然而,处理这些数据时,我们可能会遇到各种问题,比如字典中的键不存在、值为`nil`或者服务器返回`null`等。标题"ios-清理模型中的nil.zip"所涉及的内容就是关于如何在模型转换过程中有效地处理这些`nil`或`null`值...

    iOS中nil、Nil、NULL、NSNull详解

    在iOS开发中,我们经常会遇到各种表示空值的符号,如nil、Nil、NULL和NSNull。理解它们的区别和用途是编写清晰、可维护代码的关键。 1. nil nil是Objective-C中的对象空值,主要用于表示id类型或者使用@interface...

    IOS 去null

    这段Swift代码扩展了Dictionary,使得在访问字典元素时,如果键对应的值是null或NSNull,它会返回nil,而不是引发异常。 总结来说,"iOS jason 去null"是一个关于如何在解析JSON时安全处理null值的技术,主要通过...

    AlamoImage:使用Alamofire下载图片

    Alamo图片 用法 将import AlamoImage放在swift文件的顶部 ... responseImage () { (request, _ , image, error) in if error == nil && image != nil { self . imageView . image = image } } UI

    ios-后台返回数据排空(nsnull nil)处理.zip

    在JSON中,`null`会被转化为`NSNull`对象,而不是`nil`。因此,当你尝试访问`NSNull`对象的属性或方法时,它不会引发崩溃。 - `nil`: 在Objective-C中,`nil`是对象指针类型的零值,意味着指针没有指向任何对象。...

    oc.zip_NSArray_NSDictionary_去空

    NSArray *originalArray = @[@1, @"", @2, [NSNull null], @3, nil]; NSMutableArray *filteredArray = [NSMutableArray arrayWithCapacity:originalArray.count]; for (id object in originalArray) { if (object ...

    手写程序(scala).docx

    def main(args: Array[String]): Unit = { val list = List(3, 12, 43, 23, 7, 1, 2, 0) val time1 = System.currentTimeMillis() quickSort(list) val time2 = System.currentTimeMillis() println("花费时间...

Global site tag (gtag.js) - Google Analytics