java.io.File.LazyInitialization
Alan Bateman
Alan.Bateman at oracle.com
Sat Jan 21 19:01:47 UTC 2012
On 21/01/2012 18:11, Alex Lam S.L. wrote:
> Hi there,
>
> Whilst reading the JDK6 source code for java.io.File.createTempFile(),
> I noticed that:
>
> ...
> private static class LazyInitialization {
> ...
> static final String temporaryDirectory = temporaryDirectory();
> static String temporaryDirectory() {...}
> ...
> }
> ...
> public static File createTempFile(String prefix, String suffix, File
> directory) throws IOException {
> ...
> if (directory == null) {
> String tmpDir = LazyInitialization.temporaryDirectory();
> ...
>
> Shouldn't the last line use the static field instead of the static method?
>
> The static field "temporaryDirectory" is not used anywhere else in the
> class, which also make this seem suspicious.
>
>
> Alex.
Yes indeed, and this was pointed out some time ago too [1]. This is code
that has been replaced in jdk7 and it's just that we didn't go back to
jdk6 to clean it up.
-Alan
[1]
http://mail.openjdk.java.net/pipermail/core-libs-dev/2010-January/003515.html
More information about the core-libs-dev
mailing list