探索Scala(5)-- 基本类型

本文深入探讨Scala的基本类型,包括其与Java基本类型的差异、底层使用Primitive类型、包装为Java包装类型、隐式转换到RichXXX和BigXXX,并提供相关参考资料。
摘要由CSDN通过智能技术生成

文本讨论一下Scala语言基本类型的实现方式

Java基本类型

Java的数据类型大致可以分为两类:基本(Primitive)类型和对象类型。基本类型一共有8种,分别是boolean、byte、short、char、int、long、float、double。为了把基本类型融入OO系统,Java提供了包装类(Wrapper)。包装类在包java.lang里,一共8个,分别与基本类型一一对应,它们是:Boolean、Byte、Short、Character、Integer、Long、Float和Double。Java5引入的自动装箱拆箱(Autoboxing and Unboxing)语法让基本类型和OO系统结合的更自然,但仍然不够完美。

Scala基本类型

Scala在Java的基础上迈出了一大步,从语法层面彻底消灭了Primitive类型。也就是说,一切皆是对象,如下面代码所示:

val x = 1
println(x.toString)

3.to(8).foreach {
    i => println(i)
}

和Java的8种基本类型相对应,Scala也定义了8种基本类型,它们是:Boolean、Byte、Short、Char、Int、Long、Float和Double。这8种基本类型都定义在scala包里。有趣的是,这8种基本类型虽然有相应的类定义,但是和其他类还是有区别的:这些类的实例并不是对象,而是直接映射为相应的primitive类型。比如,下面是Int类的部分代码:

package scala

/** `Int`, a 32-bit signed integer (equivalent to Java's `int` primitive type) is a
 * subtype of [[scala.AnyVal]]. Instances of `Int` are n
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值