2012-05-02 13 views
7

Java'nın yansıma API'sı ile çalışma yapmak için Scala kullanıyorum. Ama Scala'da Java'da neler olabileceğini anlayamıyorum: int.class, float.class, boolean.class. Temel olarak, temel veri türlerini temsil eden sınıf nesneleridir.Java'nın int.class'ı Scala'da nasıl edinilir?

Int.class'ın Scala sürümü nedir?

cevap

14

int.class, float.class, vb. Yok. Eşdeğer kutulu tiplerin her biri, ilkel türünü temsil eden TYPE adında bir statik alana sahiptir. Demek istediğin bu mu?

örn. İlkel sınıfını sağladığı için

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

Bu, daha iyi cevaptır: int/Tamsayı için:

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

Eğer öyleyse, sadece Java yaptığınız gibi Scala ona başvuru türleri. – Dragonborn