From f1a96095b147f1637c310de61bbec44c4138f520 Mon Sep 17 00:00:00 2001 From: Geoffrey Washburn Date: Mon, 3 Mar 2008 16:29:50 +0000 Subject: Should generally use valueOf when constructing ... Should generally use valueOf when constructing integer-like numberics. JVM is supposedly guaranteed to have objects for -128 to 127 cached. --- src/library/scala/Console.scala | 10 +++++----- src/library/scala/Predef.scala | 10 +++++----- src/library/scala/mobile/Code.scala | 16 ++++++++-------- 3 files changed, 18 insertions(+), 18 deletions(-) (limited to 'src') diff --git a/src/library/scala/Console.scala b/src/library/scala/Console.scala index 6b2266782b..0a118a84f7 100644 --- a/src/library/scala/Console.scala +++ b/src/library/scala/Console.scala @@ -318,11 +318,11 @@ object Console { while (iter.hasNext) { res(i) = iter.next match { case x: Boolean => java.lang.Boolean.valueOf(x) - case x: Byte => new java.lang.Byte(x) - case x: Short => new java.lang.Short(x) - case x: Char => new java.lang.Character(x) - case x: Int => new java.lang.Integer(x) - case x: Long => new java.lang.Long(x) + case x: Byte => java.lang.Byte.valueOf(x) + case x: Short => java.lang.Short.valueOf(x) + case x: Char => java.lang.Character.valueOf(x) + case x: Int => java.lang.Integer.valueOf(x) + case x: Long => java.lang.Long.valueOf(x) case x: Float => new java.lang.Float(x) case x: Double => new java.lang.Double(x) case x: Unit => "()" diff --git a/src/library/scala/Predef.scala b/src/library/scala/Predef.scala index f196aafa8a..1f0171685c 100644 --- a/src/library/scala/Predef.scala +++ b/src/library/scala/Predef.scala @@ -301,11 +301,11 @@ object Predef { implicit def float2double(x: Float): Double = x.toDouble - implicit def byte2Byte(x: Byte) = new java.lang.Byte(x) - implicit def short2Short(x: Short) = new java.lang.Short(x) - implicit def char2Character(x: Char) = new java.lang.Character(x) - implicit def int2Integer(x: Int) = new java.lang.Integer(x) - implicit def long2Long(x: Long) = new java.lang.Long(x) + implicit def byte2Byte(x: Byte) = java.lang.Byte.valueOf(x) + implicit def short2Short(x: Short) = java.lang.Short.valueOf(x) + implicit def char2Character(x: Char) = java.lang.Character.valueOf(x) + implicit def int2Integer(x: Int) = java.lang.Integer.valueOf(x) + implicit def long2Long(x: Long) = java.lang.Long.valueOf(x) implicit def float2Float(x: Float) = new java.lang.Float(x) implicit def double2Double(x: Double) = new java.lang.Double(x) implicit def boolean2Boolean(x: Boolean) = java.lang.Boolean.valueOf(x) diff --git a/src/library/scala/mobile/Code.scala b/src/library/scala/mobile/Code.scala index d58b71403d..031b2f0c97 100644 --- a/src/library/scala/mobile/Code.scala +++ b/src/library/scala/mobile/Code.scala @@ -160,14 +160,14 @@ class Code(clazz: java.lang.Class[_]) { ////////////////////// private functions /////////////////////// private def boxValue(value: Any) = value match { - case x: Byte => (new java.lang.Byte(x), java.lang.Byte.TYPE) - case x: Boolean => (java.lang.Boolean.valueOf(x), java.lang.Boolean.TYPE) - case x: Char => (new java.lang.Character(x), java.lang.Character.TYPE) - case x: Short => (new java.lang.Short(x), java.lang.Short.TYPE) - case x: Int => (new java.lang.Integer(x), java.lang.Integer.TYPE) - case x: Long => (new java.lang.Long(x), java.lang.Long.TYPE) - case x: Float => (new java.lang.Float(x), java.lang.Float.TYPE) - case x: Double => (new java.lang.Double(x), java.lang.Double.TYPE) + case x: Byte => (java.lang.Byte.valueOf(x), java.lang.Byte.TYPE) + case x: Boolean => (java.lang.Boolean.valueOf(x), java.lang.Boolean.TYPE) + case x: Char => (java.lang.Character.valueOf(x), java.lang.Character.TYPE) + case x: Short => (java.lang.Short.valueOf(x), java.lang.Short.TYPE) + case x: Int => (java.lang.Integer.valueOf(x), java.lang.Integer.TYPE) + case x: Long => (java.lang.Long.valueOf(x), java.lang.Long.TYPE) + case x: Float => (new java.lang.Float(x), java.lang.Float.TYPE) + case x: Double => (new java.lang.Double(x), java.lang.Double.TYPE) case _ => val x = value.asInstanceOf[JObject] (x, x.getClass()) -- cgit v1.2.3