-3

プレーヤー(Player)のインベントリ(HashMap)にアイテムがあるかどうかを確認したいのですが。しかし、この条件は、(Playerクラスで)書かれています

this.items.containsKey("beamer")

コンパイルできません。エラーが発生します:

cannot find symbol - method containsKey(java.lang.String)

java.lang.Stringまたはjava.util.HashMapをインポートしようとしましたが、何も実行されません。

ご協力いただきありがとうございます。

編集1:インポート:

import java.util.*;
import java.lang.*;

編集2:Playerクラスの開始時にアイテムを宣言します。Itemsは、1つの属性、Itemを値、StringをキーとするHashMapを持つクラスでもあります。

private Items items = new Items();
4

1 に答える 1

2

Itemsは、HashMapという1つの属性を持つクラスでもあります。

つまり、ItemsはHashMapがあるか、HashMapが含まれています。アイテムHashMapではありません。したがって、メソッドはありませんcontainsKey()

containsKey()含まれているMapに委任するメソッドをItemsクラスに追加する必要があります。

public boolean containsKey(Object key) {
    return this.map.containsKey(key);
}
于 2012-12-24T18:41:05.383 に答える