文字の配列リストから文字を削除する 質問する

文字の配列リストから文字を削除する 質問する

ループ内でのこの不要な変換charに直面しています。次の文字リストがあり、そのうちの 1 つを削除したいとします。int

List<Character> chars = new ArrayList<>();
chars.add('a');
chars.add('b');
chars.add('c');
chars.remove('a');  // or chars.remove('a'-'0');

'a'は値として解釈され、例外intが発生しますIndexOutOfBoundsException。これに対する簡単な回避策はありますか?

ベストアンサー1

Acharは に昇格されint、オートボクシングよりも優先されるので、remove(int)の代わりに呼ばれるremove(Object)直感的に予想できたかもしれません。

引数を自分でボックス化することで、「正しい」メソッドを強制的に呼び出すことができます。

chars.remove(Character.valueOf('a'));

おすすめ記事