文字列の値同士を比較する際には、String.equals(Object)メソッドを利用します。
==を使った比較では、同じインスタンスかどうかを比較することになります。
例:
try { String utfStr = new String("abc".getBytes("UTF-8"),"UTF-8"); String eucStr1 = new String("abc".getBytes("EUC_JP"),"EUC_JP"); String eucStr2 = new String("abc".getBytes("EUC_JP"),"EUC_JP"); if (utfStr == eucStr1) { System.out.println("utfStr==eucStr1"); } if (eucStr1 == eucStr2) { System.out.println("eucStr1==eucStr2"); } if (eucStr1 == eucStr1) { System.out.println("eucStr1==eucStr1"); } if (eucStr1.equals(utfStr)) { System.out.println("eucStr1.equals(utfStr)"); } } catch (Exception e) { }
実行結果:
eucStr1==eucStr1 eucStr1.equals(utfStr)