2012-05-02 7 views
7

मैं जावा के प्रतिबिंब एपीआई के साथ कुछ काम करने के लिए स्कैला का उपयोग कर रहा हूं। लेकिन मुझे लगता है कि स्कैला में कैसे पहुंचेगा जावा में क्या होगा: int.class, float.class, boolean.class।स्कैला में जावा का int.class कैसे प्राप्त करें?

असल में कक्षाएं ऑब्जेक्ट्स जो प्राचीन डेटा प्रकारों का प्रतिनिधित्व करती हैं।

तो int.class का स्कैला संस्करण क्या है?

उत्तर

14

int.class, float.class, आदि मौजूद नहीं है। समकक्ष बॉक्स वाले प्रकारों में प्रत्येक का एक स्थिर क्षेत्र होता है जिसे TYPE कहा जाता है जो प्राचीन प्रकार का प्रतिनिधित्व करता है। क्या तुम्हारे कहने का मतलब यही था?

उदा पूर्णांक/पूर्णांक के लिए:

http://docs.oracle.com/javase/6/docs/api/java/lang/Integer.html#TYPE

यदि हां, तो आप इसे स्काला से संदर्भ केवल आपके जावा में करते हैं:

scala> Integer.TYPE 
res0: java.lang.Class[java.lang.Integer] = int 
13
Welcome to Scala version 2.10.0-20120430-094203-cfd037271e (Java HotSpot(TM) 64-Bit Server VM, Java 1.6.0_25). 
Type in expressions to have them evaluated. 
Type :help for more information. 

scala> classOf[Int] 
res0: Class[Int] = int 

scala> classOf[Integer] 
res1: Class[Integer] = class java.lang.Integer 
+0

यह एक बेहतर जवाब है, क्योंकि यह आदिम के वर्ग प्रदान करता है प्रकार के। – Dragonborn

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