Java terimlerinde, semboller dahili dizelerdir. Bu, örneğin, referans eşitlik karşılaştırmasının ( eq
Scala ve ==
Java'da) normal eşitlik karşılaştırması ile aynı sonucu verdiği anlamına gelir ( ==
Scala ve equals
Java'da): JVM'nin kaprislerine bağlı olarak 'abcd eq 'abcd
doğru, ancak "abcd" eq "abcd"
olmayabilir değişmez değerler için, ancak genel olarak dinamik olarak oluşturulan dizeler için değil).
Sembolleri kullanan diğer diller Lisp ( 'abcd
Scala gibi), Ruby ( :abcd
), Erlang ve Prolog'dur ( abcd
bunlar sembol yerine atom olarak adlandırılır).
Bir dizginin yapısını önemsemediğimde ve onu sadece bir şey için isim olarak kullandığımda bir sembol kullanırdım. Örneğin, "fiyat" adlı bir sütun içeren, CD'leri temsil eden bir veritabanı tablom varsa, "fiyat" daki ikinci karakterin "r" olması veya sütun adlarının birleştirilmesi umurumda değil; bu nedenle Scala'daki bir veritabanı kitaplığı, tablo ve sütun adları için makul şekilde semboller kullanabilir.