ในคำศัพท์ Java สัญลักษณ์เป็นสตริงภายใน ซึ่งหมายความว่าตัวอย่างเช่นการอ้างอิงการเปรียบเทียบความเท่าเทียมกัน ( eqใน Scala และ==ใน Java) ให้ผลลัพธ์เช่นเดียวกับการเปรียบเทียบความเท่าเทียมกันตามปกติ ( ==ใน Scala และequalsใน Java): 'abcd eq 'abcdจะคืนค่าจริงในขณะที่"abcd" eq "abcd"อาจไม่ขึ้นอยู่กับความต้องการของ JVM (ก็ควร สำหรับตัวอักษร แต่ไม่ใช่สำหรับสตริงที่สร้างแบบไดนามิกโดยทั่วไป)
ภาษาอื่น ๆ ที่ใช้สัญลักษณ์ ได้แก่ Lisp (ซึ่งใช้'abcdเหมือน Scala), Ruby ( :abcd), Erlang และ Prolog ( abcdเรียกว่าอะตอมแทนสัญลักษณ์)
ฉันจะใช้สัญลักษณ์เมื่อฉันไม่สนใจโครงสร้างของสตริงและใช้มันเป็นชื่อของบางสิ่งเท่านั้น ตัวอย่างเช่นถ้าฉันมีตารางฐานข้อมูลที่เป็นตัวแทนของซีดีซึ่งมีคอลัมน์ชื่อ "price" ฉันไม่สนใจว่าอักขระตัวที่สองใน "price" คือ "r" หรือเกี่ยวกับการต่อชื่อคอลัมน์ ดังนั้นไลบรารีฐานข้อมูลใน Scala จึงสามารถใช้สัญลักษณ์สำหรับชื่อตารางและคอลัมน์ได้อย่างสมเหตุสมผล