जावा के संदर्भ में, प्रतीक आंतरिक तार हैं। इस का मतलब है, उदाहरण के लिए, कि संदर्भ समानता तुलना ( eq
स्काला में और ==
जावा में) देता है सामान्य समानता तुलना के रूप में एक ही परिणाम ( ==
स्काला में और equals
जावा में): 'abcd eq 'abcd
सच वापस आ जाएगी, जबकि "abcd" eq "abcd"
हो सकता है नहीं, JVM के सनक (अच्छी तरह पर निर्भर करता है, यह होना चाहिए शाब्दिक के लिए, लेकिन सामान्य रूप से गतिशील रूप से बनाए गए तारों के लिए नहीं)।
अन्य भाषाएं जो प्रतीकों का उपयोग करती हैं, वे हैं लिस्प (जो 'abcd
स्काला की तरह उपयोग होती हैं), रूबी ( :abcd
), एरलंग और प्रोलॉग ( abcd
; उन्हें प्रतीकों के बजाय परमाणु कहा जाता है)।
जब मैं एक स्ट्रिंग की संरचना के बारे में परवाह नहीं करता हूं और किसी चीज़ के लिए एक नाम के रूप में इसका उपयोग करता हूं, तो मैं एक प्रतीक का उपयोग करूंगा। उदाहरण के लिए, यदि मेरे पास सीडी का प्रतिनिधित्व करने वाली एक डेटाबेस तालिका है, जिसमें "मूल्य" नाम का एक कॉलम शामिल है, तो मुझे परवाह नहीं है कि "मूल्य" में दूसरा वर्ण "आर" है, या कॉलम नामों के बारे में है; इसलिए स्काला में एक डेटाबेस लाइब्रेरी यथोचित रूप से टेबल और कॉलम नामों के लिए प्रतीकों का उपयोग कर सकती है।