Scala:Any, AnyRef, AnyVal

文章目录

关系

  • Any 是一个 abstract 类, scala 中的顶级父类
  • AnyVal 是一个 abstract 类,继承 Any,目的是取代 primary 类型
  • AnyRef 是一个 trait,继承 Any,重写了 Any 中部分方法

Any

  • 最主要的一个用途就是为一些值类型提供简单的方法继承
trait Printable extends Any {
  def print(): Unit = println(this)
}

class Wrapper(val underlying: Int) extends AnyVal with Printable
val w = new Wrapper(3)
w.print()
  • 可以在声明集合且不确定数据类型时使用类似Java的Object。这个算是AnyVal的补充
  var A:Map[Char,Any] = Map()
    A += ('K' -> 10)
    A += ('L' -> "L") //声明为AnyVal 无法存String类型

AnyVal

数字类型非数字类型
Scala.Doublescala.Unit
scala.Floatscala.Boolean
scala.Long
scala.Int
scala.Char
scala.Short
scala.Byte

AnyRef

  • AnyRef 类是所有引用类型的根类。除了值类型之外的所有类型都来自此类

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值