2011-09-17 28 views
6

He accidentalmente escrito esta línea de código:¿Para qué sirve AnyVal.types?

scala> val f = Int 
f: Int.type = object scala.Int 

parece funcionar para cada subtipo de AnyValAnyVal excepto por sí mismo.

¿Hay algo que pueda usar f o solo se trata de un detalle de implementación de Scala?

Respuesta

7

El objeto complementario Int es documented here. No ofrece mucho, pero aquí hay un par de cosas:

scala> val f = Int 
f: Int.type = object scala.Int 

scala> f.MaxValue 
res1: Int = 2147483647 

scala> f.box(2) 
res2: java.lang.Integer = 2 
+1

Oh tonto de mí, que es el objeto compañero ... supongo que es hora de ir a la cama;) – agilesteel

+6

Tal vez lo más importante, el ' Los objetos complementarios de AnyVal se usan como parámetros para la anotación '@ especializada'. – retronym