目次

概要

java.nio.CharsetクラスのisSupportedメソッドの引数に JISAutoDetectを 与えた際の挙動が1.4.2_09までと1.4.2_10以降(5.0含む)では変わりました。
bugs.sun.comでは ID 5107263 で微妙に書いてあります。

どんな現象?

Charset#isSupported("JISAutoDetect")は1.4.2_09まではfalse, 1.4.2_10以降は trueになるようになってます。

テスト用コード

import java.nio.charset.*;
public class CharsetTest { 
	public static void main(String [] args){
		// JISAutoDetectの動作
		String jad = "JISAutoDetect";
		System.out.println(jad+" is "+Charset.isSupported(jad));
	}
}

テスト結果

[EXEC] /usr/j2se_1.4.1_03a/bin/java -version
java version "1.4.1_02a"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1_02a-b01)
Java HotSpot(TM) Client VM (build 1.4.1_02a-b01, mixed mode)
[EXEC] /usr/j2se_1.4.1_03a/bin/java CharsetTest
JISAutoDetect is false

[EXEC] /usr/j2se_1.4.2_05/bin/java -version
java version "1.4.2_05"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_05-b04)
Java HotSpot(TM) Client VM (build 1.4.2_05-b04, mixed mode)
[EXEC] /usr/j2se_1.4.2_05/bin/java CharsetTest
JISAutoDetect is false

[EXEC] /usr/j2se_1.4.2_10/bin/java -version
java version "1.4.2_10"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_10-b03)
Java HotSpot(TM) Client VM (build 1.4.2_10-b03, mixed mode)
[EXEC] /usr/j2se_1.4.2_10/bin/java CharsetTest
JISAutoDetect is true

[EXEC] /usr/jdk/jdk1.5.0/bin/java -version
java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64)
Java HotSpot(TM) Client VM (build 1.5.0-b64, mixed mode, sharing)
[EXEC] /usr/jdk/jdk1.5.0/bin/java CharsetTest
JISAutoDetect is true

Last-modified: 2005-11-22 11:48:56