String concatenation ‘+=’ in loop の警告の対処方法 | Androidアプリ開発

※当サイトはアフィリエイト広告を利用しています。

Android Studioにおける「String concatenation ‘+=’ in loop」の警告の対処方法を紹介します。
スポンサーリンク


現象

この警告は例えば↓のようなサンプルコードで表示されます。
public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        String temp = "";
        for (int i = 0; i < 10; i++) {
            temp += i + ",";
        }
        Toast.makeText(this, i, Toast.LENGTH_SHORT).show();
    }
}

このコードをAndroid Studioで記述すると下図のように「+=」の箇所に「String concatenation ‘+=’ in loop」の警告が表示されます。

原因と対処方法

原因は英語の記載の通り、ループ内で’+=’を使用して文字列を連結しているためです。’+=’による文字列は処理速度が遅いため、Android Studioが警告を表示してくれているのです。

対処方法としてはStringBuilderを使用することです。

サンプルコードは以下です。
public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        StringBuilder temp = new StringBuilder();
        for (int i = 0; i < 10; i++) {
            temp.append(i).append(",");
        }
        Toast.makeText(this, temp.toString(), Toast.LENGTH_SHORT).show();
    }
}

まとめ

Android Studioにおける「String concatenation ‘+=’ in loop」の警告の対処方法を紹介しました。