Можно создать дубликат:
Practical examples of using symbols in Scala?Почему в Scala нужны символы?
Что является причиной того, символы в Scala, если строки являются неизменными? После того, что я знаю, символы используются, когда идентификация важна, это означает, что символы интернированы, а два символа с одним и тем же символьным значением будут одним и тем же объектом. Но разве это уже не сделано для строк в Scala, если строки из языка Java (где они неизменяемы и интернированы)?
Если я неправильно понял символы или вы можете предоставить более подробную информацию о том, почему они нужны б/у, я был бы рад узнать :)
Строки Java не обязательно интернированы. Строковые литералы. '" это верхний регистр ".toUpperCase()' is not. –