Hi, Looks good. Minor comments.
CachedRowSetImpl — 1966 return ((Float.valueOf(value.toString())).floatValue()); Use Float.parseFloat ? 2010 return ((Double.valueOf(value.toString().trim())).doubleValue()); Use Double.parseDouble ? ExpressionExecuter — 86 Double lval = Double.valueOf(((Number)evaluate(l)).doubleValue()); 87 Double rval = Double.valueOf(((Number)evaluate(r)).doubleValue()); 88 double result = op.eval(lval.doubleValue(), rval.doubleValue()); 89 if (debug) { 90 System.out.println("Performed Operation: " + lval + op + rval 91 + " = " + result); 92 } 93 return Double.valueOf(result); How about: double lval = ((Number)evaluate(l)).doubleValue(); double rval = ((Number)evaluate(r)).doubleValue(); double result = op.eval(lval, rval); ? Paul. > On 14 Apr 2016, at 03:50, Stuart Marks <stuart.ma...@oracle.com> wrote: > > Hi all, > > Please review this first round of deprecation changes for the java.lang > package. This changeset includes the following: > > - a set of APIs being newly deprecated > - a set of already-deprecated APIs that are "upgraded" to forRemoval=true > - addition of the "since" element to all deprecations > - cleanup of some of the warnings caused by new deprecations > > Webrevs: > > http://cr.openjdk.java.net/~smarks/reviews/8145468/webrev.0.jdk/ > > http://cr.openjdk.java.net/~smarks/reviews/8145468/webrev.0.langtools/ > > http://cr.openjdk.java.net/~smarks/reviews/8145468/webrev.0.top/ > > The newly deprecated APIs include all of the constructors for the boxed > primitives. We don't intend to remove these yet, so they don't declare a > value for the forRemoval element, implying the default value of false. The > constructors being deprecated are as follows: > > Boolean(boolean) > Boolean(String) > Byte(byte) > Byte(String) > Character(char) > Double(double) > Double(String) > Float(float) > Float(double) > Float(String) > Integer(int) > Integer(String) > Long(long) > Long(String) > Short(short) > Short(String) > > The methods being deprecated with forRemoval=true are listed below. All of > these methods have already been deprecated. They are all ill-defined, or they > don't work, or they don't do anything useful. > > Runtime.getLocalizedInputStream(InputStream) > Runtime.getLocalizedOutputStream(OutputStream) > Runtime.runFinalizersOnExit(boolean) > SecurityManager.checkAwtEventQueueAccess() > SecurityManager.checkMemberAccess(Class<?>, int) > SecurityManager.checkSystemClipboardAccess() > SecurityManager.checkTopLevelWindow(Object) > System.runFinalizersOnExit(boolean) > Thread.countStackFrames() > Thread.destroy() > Thread.stop(Throwable) > > Most of the files in the changeset are cleanups. Some of them are simply the > addition of the "since" element to the @Deprecated annotation, to indicate > the version in which the API became deprecated. > > The rest of the changes are cleanup of warnings that were created by the > deprecation of the boxed primitive constructors. There are a total of a > couple hundred such uses sprinkled around the JDK. I've taken care of a > portion of them, with the exception of the java.desktop module, which alone > has over 100 uses of boxed primitive constructors. I've disabled deprecation > warnings for the java.desktop module for the time being; these uses can be > cleaned up later. I've filed JDK-8154213 to cover this cleanup task. > > For the warnings cleanups I did, I mostly did conversions of the form: > > new Double(dval) > > to > > Double.valueOf(dval) > > This is a very safe transformation. It changes the behavior only in the cases > where the code relies on getting a new instance of the box object instead of > one that might come out of a cache. I didn't see any such code (and I should > hope there's no such code in the JDK!). > > I applied autoboxing only sparingly, in the cases where it was an obviously > safe thing to do, or where nearby code already uses autoboxing. Autoboxing > actually generates a call to the appropriate valueOf() method, so the > bytecode would be the same in most cases. The only difference is clutter in > the source code. On the other hand, there's some risk in converting to > autoboxing, as the implicitly autoboxed type might end up different from an > explicit call to valueOf(). This isn't always obvious, so that's why I mostly > avoided autoboxing. > > Thanks, > > s'marks >