最重要区别
1
symbol存入内存后,始终存在,如果不进行垃圾收集,可能导致内存泄漏。
String只会存在于某个创建它的作用域内。即有生命周期的。
2.唯一性。
\进入控制台 >"asd".object_id >"asd".object_id \上面的string的object_id不同,证明上面2个字符串是储存在不同内存位置的2个独立的字符串。 >:asd.object_id >:asd.object_id \上面的:asd的object_id相同,:asd是唯一的。
3 Symbol是一个符号,它不能像string一样合并。