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