Hi,

in most cases you use the empty diamond operator '<>' on instantiation, but not for SoftReference: "new SoftReference<Charset>(cs)" in AbstractCharsetProvider.java
Why?

I don't see a big advantage for casting to (Class<?>) against (Class) for the cache of Converters.java. Wouldn't you better use a small helper class:
class CacheEntry {
    String encoding;
    Class<?> converter;
}

Maybe you would like my more general approach, which eliminates the need of any XxxxToYyyyZzzz converters:
https://java-nio-charset-enhanced.dev.java.net/source/browse/java-nio-charset-enhanced/tags/milestone3/src/sun/io/Converters.java?rev=530&view=markup
https://java-nio-charset-enhanced.dev.java.net/source/browse/java-nio-charset-enhanced/tags/milestone3/src/sun/io/?rev=530


in AbstractCharsetProvider.java you could simply code:
Charset cs = (Charset)Class.forName(packagePrefix+'.'+cln, true,
        this.getClass().getClassLoader()).newInstance();


-Ulf


Am 02.02.2010 11:55, schrieb ahug...@redhat.com:
Changeset: 7dadd2951a8b
Author:    andrew
Date:      2010-02-02 10:55 +0000
URL:       http://hg.openjdk.java.net/jdk7/tl/jdk/rev/7dadd2951a8b

6921740: Eliminate warnings from sun.io converters and allow compiling with 
JAVAC_MAX_WARNINGS=true
Summary: Fix sun.io converters unchecked and cast warnings produced by 
-Xlint:all
Reviewed-by: alanb, sherman

! make/java/sun_nio/Makefile
! src/share/classes/sun/io/ByteToCharUTF8.java
! src/share/classes/sun/io/CharToByteUnicode.java
! src/share/classes/sun/io/CharacterEncoding.java
! src/share/classes/sun/io/Converters.java
! src/share/classes/sun/nio/cs/AbstractCharsetProvider.java



Reply via email to