Scala数据类型
分类:
文章
•
2023-03-08 00:13:40
值
- 不可变
- 有类型的存储单元
- 使用
val
声明
- 可显式类型覆盖scala的自动类型推导
变量
- 可变
- 使用
var
声明
- 更倾向于用
值
,因为值
作为不可变的值更稳定,更具有可预测性
命名
- 使用Camel Case写法:小写字母开头,剩余单词首字母大写
类型
- 数值类型
- Byte
- Short
- Int
- Long
- Float
- Double
- Scala可自动低等级到高等级(从上往下)进行转换
- 正是Java同名的包装器
- Scala不支持从高等级到低等级的自动转换:从存储空间较大的类型转换为存储空间变小的类型会丢失数据
- 可通过toType手动转换
字符串
- 字面量使用双引号(Char字面量使用单引号)
- 相等运算符(==)与Java不同,Scala会检查真正的相等性,而不是对象引用相等性
- 字符串内插:
- 在字符串第一个双引号前增加
s
前缀,可以使用$
指示外部数据的引用
- 如果引用中有非字字符(如算式),或引用于周围文本无法区分,就需要使用可选的大括号({})
Scala类型
![Scala数据类型 Scala数据类型](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzc3NC8xYzU2ODkzYmU5OWJjOTBlMTk1NzVjMzdiNDBmYTFmNi5wbmc=)
- Nothing是所有类型的子类,他没有一个具体的实例对象,一个常见的应用如:抛出异常、程序exit,无限循环等。
- Nothing也是Null的子类。Nothing没有对象,但是可以用来定义类型。例如,如果一个方法抛出异常,则异常的返回值类型就是Nothing(虽然不会返回) 。
- 避免使用asInstanceOf[]:避免值无法转换为所请求的类型的报错