6
ので、後でキャストを回避:だからプログラミング - 私はのように、一つは、インターフェイスにプログラム常にべき理解し、
List<Integer> list = new LinkedList<Integer>();
、後で私のプログラムで私が持っている:
public List<Integer> getIntegers() {
return list;
}
public void processIntegers() {
// I need an arraylist here
ArrayList<Integer> list = (ArrayList<Integer>) getIntegers(); // can I do this better, without a cast?
}
ここでより良いパターンに従うことができますか、何らかの形でキャストを避けるために何かしますか?このシナリオでは鋳造は非常に醜いようです。
ありがとうございました。
また、なぜこれがより良いのか、最終的にキャストが避けられない場合、常にarrayListを使用しているかと尋ねます。 – dontcare
@dontcareこの整数リストは、特にarraylistではなく、リストを受け入れる汎用関数に渡すことができます。 – jn1kk
あなたは離れて逃げることのできる最小限の特定のタイプにプログラムする必要があります。 – plasma147