0

java.util.Vectorメソッドがあります: remove(int index)そして remove(Object o)

私は持っています:

vector<Integer> a;
int b=3;

が欲しいです:

remove(Object o)変数を使用してメソッドを呼び出しbます。書くa.remove(b)ことは明らかにremove(int index)

よろしくお願いします、Maciej

4

1 に答える 1

4
a.remove(Integer.valueOf(b)); 

動作するはずです。オートボクシングがを呼び出すと見なされる前に、 AnIntegerは最初に参照型として解決され、一致します。remove(Object)remove(int)

Java言語仕様、15.2.2から:

コンパイル時ステップ2:メソッドシグネチャを決定する

最初のフェーズ(§15.12.2.2)は、ボックス化またはボックス化解除の変換、または可変アリティメソッド呼び出しの使用を許可せずに過負荷解決を実行します。このフェーズで該当する方法が見つからない場合、処理は2番目のフェーズに進みます。

2番目のフェーズ(§15.12.2.3)は、ボクシングとアンボクシングを許可しながら過負荷の解決を実行します...

于 2013-03-14T18:39:29.647 に答える