Scala 的 Symbol 类型

This class provides a simple way to get unique objects for equal strings. Since symbols are interned, they can be compared using reference equality. Instances of Symbol can be created easily with Scala’s built-in quote mechanism.

大概翻译一下:这个类提供了一个快速的字符串比较方式。如果字符串的值相同,则返回的是该字符串的引用地址(即两个字符串的地址相同)。而且创建 Symbol 也非常方便。

Symbol 内部维护了一个字符串池,当用户创建 Symbol 字符串时,会先在字符串池中查找是否存在相同值的字符串,若存在则返回该字符串的引用,若不存在就在池中添加该字符串并且返回该字符串的引用。

Symbol类型的创建

val str1 = 'helloWorld

即在字符串前面加一个单引号即可。或者

val str2 = Symbol("helloWorld")

并且

println(str1 == str2) // true

你可能感兴趣的:(Scala基础)