クラスのスライドの次の部分を理解するのに苦労しています。
ArrayBag へのアイテムの格納:
オブジェクト型の配列にアイテムを格納します。
public class ArrayBag implements Bag {
private Object[] items;
private int numItems;
....
}
これにより、ポリモーフィズムの力のおかげで、items 配列に任意のタイプのオブジェクトを格納できます。
ArrayBag bag = new ArrayBag();
bag.add("hello");
bag.add(new Double(3.1416));
ArrayBag は特定の種類のオブジェクトですか、それとも単に Obj 変数名ですか?
3.1416 を Double としてキャストし、新しいものを追加する必要があるのはなぜですか?
(コードが単に bag.add(3.1416) である可能性があり、Java が自動ボックス化することはわかっていますが、bag.add(new Double(3.1416)) の背後にある意味を理解するのに苦労しています)。