2010-11-18 10 views
24

मुझे इस कलाकार को काम करने में समस्याएं आ रही हैं।आप स्कैला में कास्ट चार/इंट टाइप कैसे करते हैं?

संकलक बताता है मुझे मूल्य aNumber वस्तु Char

def runCastTest() { 
    val aNumber = 97 
    val aChar = (Char)aNumber 

    println(aChar) // Should be 'a' 
} 

क्या मैं गलत कर रहा हूँ का सदस्य नहीं है?

उत्तर

34

आप कास्टिंग नहीं कर रहे हैं। (Char)aNumber आप वस्तु चार में एक विधि aNumber आह्वान करने के लिए कोशिश कर रहे हैं के साथ:

scala> val aNumber = 97 
aNumber: Int = 97 

scala> val aChar = (Char)aNumber 
<console>:5: error: value aNumber is not a member of object Char 
     val aChar = (Char)aNumber 
         ^

आप

scala> aNumber.asInstanceOf[Char] 
res0: Char = a 

कर सकते हैं या निकोलस के रूप में सुझाव इंट उदाहरण पर कॉल toChar:

scala> aNumber.toChar 
res1: Char = a 
17

सबकुछ स्केल में एक वस्तु है, तो आपको aNumber.toChar का उपयोग करना चाहिए।

+6

आपका स्पष्टीकरण भ्रामक है। कोई सोच सकता है कि Scala में किसी भी वस्तु पर tohar परिभाषित किया गया है। – NightRa

संबंधित मुद्दे