scala 数据类型
1、 java 数据类型
1.1、八种基本数据类型
基本数据类型 | 占字节数 |
---|---|
byte | 1 |
short | 2 |
char | 2 |
int | 4 |
long | 8 |
floot | 4 |
double | 8 |
boolean | 有的用一个字节,有的用一位 |
1.2、引用数据类型
除了基本类型,就是引用类型
基本类型 => 包装类
2、 scala 数据类型(Any :AnyVal 、AnyRef)
所有的数据都是对象,函数也是对象
2.1、AnyVal 类(效率较高)
数据类型 | 作用,描述 |
---|---|
Double | 类 java (是类,而不是 java 中的关键字) |
… | 类 java 中的基本数据类型 |
Float | 类 java |
Unit | 类型 类 java 中的 void 用于方法或函数不需要返回值的时候,表示无值。只有一个实例值,写成 ( ) |
StringOps | 是 String 的加强版,当使用 java 的 String 时候,一些没有方法,会自动从这个类型找(隐式转换),与 String 没有父子关系 |
Nothing | 在 scala 中是所有类型的子类型,最低端当一个函数,我们确定没有正常的返回值时,可以用Nothing 来指定返回类型,好处:我们可以把返回的值(异常)赋给其它的函数或者变量 |
2.2、AnyRef 类
数据类型 | 作用、描述 |
---|---|
All java classes | 所有的 java 类到 scala 中都属于AnyRef |
Scala collections | scala 中所有的集合 |
Other Scala classes | 去掉AnyVal中的类及 java 中的类和集合 |
Null | 是所有的 AnyRef 的子类型 ,只有一个值:null(为 java 中的 null ) |
Nothing | 在 scala 中是所有类型的子类型,最低端,当一个函数,我们确定没有正常的返回值时,可以用Nothing 来指定返回类型,好处:我们可以把返回的值(异常)赋给其它的函数或者变量 |
注:
null :在 java 中可以给任何的引用类型赋值
Null :在 scala 是所有的 AnyRef 的子类型,只有一个值:null ( 其实就是 java 中的 null ),可以赋值给任意的引用类型(AnyRef)但是不能赋值给值类型(AnyVal)
3、数据类型之间的转换
3.1、值类型之间的转换
3.1.1、自动转换( 提升 )
Byte - > Short - > Int - > Long - > Float - > Double ;
Char - > Int - > Long - >Float - >Double
( 类 Java )
3.1.2、强制转换
(1)基本类型强转
java:(int)2L
scala:调用方法 (.toInt、.toDouble…)
val a : Long = 2L
val b : Int = a.toInt
(2)字符串中纯数字转换
注:字符串中如果是纯数字,也可以轻易转换成相应的类型
java:
val s : String = "123"
val i :Int = Integer.parseInt(s)
println(i)
scala:
val s :String = "123"
println(s.toInt)
println(s.toDouble)
(3)转字符串
val a :Int = 423
val s1 : String = 423 + " "
val s2 : String = 423.toString
3.2、引用类型的转换
遵守面向对象的规则,多态
版权声明:本文为Smiling_lzy原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。