2012-03-01 1 views
1

Можно создать дубликат:
Practical examples of using symbols in Scala?Почему в Scala нужны символы?

Что является причиной того, символы в Scala, если строки являются неизменными? После того, что я знаю, символы используются, когда идентификация важна, это означает, что символы интернированы, а два символа с одним и тем же символьным значением будут одним и тем же объектом. Но разве это уже не сделано для строк в Scala, если строки из языка Java (где они неизменяемы и интернированы)?

Если я неправильно понял символы или вы можете предоставить более подробную информацию о том, почему они нужны б/у, я был бы рад узнать :)

+0

Строки Java не обязательно интернированы. Строковые литералы. '" это верхний регистр ".toUpperCase()' is not. –

ответ

1

Я бы сказал наоборот: символы используются, когда только личность важна. Два символа с одинаковым именем всегда будут ссылаться на один и тот же экземпляр, поэтому эти ссылки можно сравнить без риска.

Символы могут использоваться, например, в виде легкого перечисления.

+0

Конечно, спасибо. Я смутил их. Я обновил вопрос – LuckyLuke

+2

Это не переименование, потому что вы можете ввести новые значения по ошибке (в отличие от реальных перечислений или запечатанных признаков). – paradigmatic

 Смежные вопросы

  • Нет связанных вопросов^_^