I'm with Louis on this one. Since you're changing this code anyway, I don't see any reason to use string here.
Sent from my phone On Feb 1, 2013 4:45 PM, "Joe Darcy" <joe.da...@oracle.com> wrote: > On 02/01/2013 01:41 PM, Louis Wasserman wrote: > >> Would appending the character 'p' instead of the string "p" make any >> difference? >> > > Not a big enough one for me to feel compelled to look into it ;-) > > -Joe > > >> >> On Fri, Feb 1, 2013 at 1:39 PM, Joe Darcy <joe.da...@oracle.com <mailto: >> joe.da...@oracle.com>> wrote: >> >> Hello, >> >> Please review a simple refactoring fix in Double.toHexString >> >> 6964528: Double.toHexString(double d) String manipulation with >> + in an append of StringBuilder >> >> http://cr.openjdk.java.net/~**darcy/6964528.0/<http://cr.openjdk.java.net/~darcy/6964528.0/> >> >> <http://cr.openjdk.java.net/%**7Edarcy/6964528.0/<http://cr.openjdk.java.net/%7Edarcy/6964528.0/> >> > >> >> Patch below. >> >> Thanks, >> >> -Joe >> >> --- old/src/share/classes/java/**lang/Double.java 2013-02-01 >> 13:36:33.000000000 -0800 >> +++ new/src/share/classes/java/**lang/Double.java 2013-02-01 >> 13:36:33.000000000 -0800 >> @@ -1,5 +1,5 @@ >> /* >> - * Copyright (c) 1994, 2012, Oracle and/or its affiliates. All >> rights reserved. >> + * Copyright (c) 1994, 2013, Oracle and/or its affiliates. All >> rights reserved. >> * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. >> * >> * This code is free software; you can redistribute it and/or >> modify it >> @@ -289,7 +289,7 @@ >> return Double.toString(d); >> else { >> // Initialized to maximum size of output. >> - StringBuffer answer = new StringBuffer(24); >> + StringBuilder answer = new StringBuilder(24); >> >> if (Math.copySign(1.0, d) == -1.0) // value is >> negative, >> answer.append("-"); // so append >> sign info >> @@ -300,8 +300,7 @@ >> >> if(d == 0.0) { >> answer.append("0.0p0"); >> - } >> - else { >> + } else { >> boolean subnormal = (d < DoubleConsts.MIN_NORMAL); >> >> // Isolate significand bits and OR in a >> high-order bit >> @@ -324,13 +323,14 @@ >> "0": >> signif.replaceFirst("0{1,12}$"**, "")); >> >> + answer.append("p"); >> // If the value is subnormal, use the E_min exponent >> // value for double; otherwise, extract and >> report d's >> // exponent (the representation of a subnormal uses >> // E_min -1). >> - answer.append("p" + (subnormal ? >> - DoubleConsts.MIN_EXPONENT: >> - Math.getExponent(d) )); >> + answer.append(subnormal ? >> + DoubleConsts.MIN_EXPONENT: >> + Math.getExponent(d)); >> } >> return answer.toString(); >> } >> >> >> >> >> -- >> Louis Wasserman >> > >