0

重複の可能性:
Javaで文字列を比較するにはどうすればよいですか?

私は次のコードを持っていますが、何らかの理由で文字列を変更しません

accountClassは文字列「L」を返します

String accountClass = accClass.substring(4, 5);
        if (accountClass == "A") {
            accountClass = "Staff - A";
        } else if (accountClass == "B") {
            accountClass = "Student - B";
        } else if (accountClass == "H") {
            accountClass = "Personal - H";
        } else if (accountClass == "K") {
            accountClass = "60 Plus - K";
        } else if (accountClass == "L") {
            accountClass = "Business - L";
        } else if (accountClass == "P") {
            accountClass = "Charity - P";
        } else if (accountClass == "Q") {
            accountClass = "AIB Subsidiary - Q";
        } else if (accountClass == "X") {
            accountClass = "Irish State Spons & Sub's - X";
        } else if (accountClass == "Y") {
            accountClass = "Other Companies & Orgs - Y";
        } else if (accountClass == "Z") {
            accountClass = "Impersonal & Gen. Ledger - Z";
        }

==が問題を引き起こしているのか、それとも他の何かを引き起こしているのか疑問に思っていますか?

4

2 に答える 2

2

常にequals()メソッドを使用して文字列の同等性を確認してください。オブジェクトの==場合、2つの参照変数が同じインスタンスを参照しているかどうかを確認します。2つの文字列が意味のある等しいuseString.equals()メソッドであるかどうかを確認します。

if (accountClass == "A") {

する必要があります

if (accountClass.equals("A")) {

他のifステートメントも同様です。

于 2012-12-21T11:25:21.603 に答える
-1

if(accountClass.equals( "L"))

于 2012-12-21T11:26:58.747 に答える