2012-03-01 7 views
1

가능한 중복 : 스칼라에는 왜 심볼이 필요합니까?

문자열이 불변 경우 스칼라 심볼을 갖는 이유는 무엇입니까
Practical examples of using symbols in Scala?

? 신원이 중요 할 때 기호가 사용된다는 것을 알고 나면 기호가 유지되고 동일한 문자 값을 가진 두 기호가 같은 대상이됩니다. 그러나 문자열이 자바 언어 (immutable 및 interned)의 문자열 인 경우 스칼라의 문자열에 이미이 작업을 수행하지 않았습니까?

내가 문자를 오해하거나 그들이/필요 내가 :)

+0

Java 문자열은 반드시 interned 될 필요는 없습니다. 문자열 리터럴은 있습니다. 이것은 대문자입니다. toUpperCase()'는 아닙니다. –

답변

1

내가 반대를 말할 것이다 배울 행복 할 것이다 사용하는 이유에 대한 자세한 정보를 제공 할 수있는 경우 : 신원 만이 중요 할 때 문자가 사용됩니다. 동일한 이름을 가진 두 개의 심볼은 항상 동일한 인스턴스를 참조하므로 이러한 참조는 위험없이 비교할 수 있습니다.

기호는 예를 들어 경량 열거 형으로 사용할 수 있습니다.

+0

물론 감사합니다. 나는 두 가지를 혼동했다. 질문을 업데이트했습니다. – LuckyLuke

+2

실제 열거 형이나 봉인 된 특성과 달리 실수로 새 값을 도입 할 수 있으므로 열거 형이 아닙니다. – paradigmatic