JavaでArrayListを使用すると、わからないことがいくつかあります。ここに私の初期化コードは次のとおりです。ArrayList <Integer> get/removeメソッド付き
ArrayList<Integer> list = new ArrayList <Integer>();
list.add (0);
list.add (1);
時々私はそのインデックスでオブジェクトを削除する必要があります:
list.remove (0) // delete the object in the first box
が、時々私は、その内容によってオブジェクトを削除する:
list.remove (0) // delete the object HAS Which value of 0
このコードは非常にあいまいです。私はコードでそれを何をしたいのか明確にするために、私はこのようなタイプを指定します。
list.remove ((Object) 0) // delete the object which has a value of 0
私はACない場合は、メソッドが呼び出されるかを知るための唯一の方法はに方法にマウスポインタを置くことです参照してください: java.util.ArrayList.removeブール値(オブジェクトオブジェクト)
Javaしかし、どのように違いがありますか? メソッドポインタはありますか? これを実行するあいまいな方法はありませんか?
ありがとう、私の英語のために申し訳ありません。
PS:私は、私は最終的にSparseIntArrayを使用したことを言う必要がありますが、私はstatersについて不思議
はい私はこれに気付きました。私が戻り値を使用しない場合、Javaがどのように違いを生み出すか、オートボクシングの仕組みが不思議です。 –
@juliendumortierこれは、この特定のシナリオでは紛らわしいだけです。オブジェクトの場合は一般的にそれについて考えるなら、それは好きです。 'list.remove(animal)'または 'list.remove(watever)'のいずれかです。 – PermGenError
okありがとう!最後の質問。 System.out.println(list。remove((Integer)0); これは良い/悪い習慣ですか? (これにより、新しいインスタンスの作成を避けることができます)。 –