アプリ版:「スタンプのみでお礼する」機能のリリースについて

Enumerationと書くと変数に解決できませんと出てエラーになります。
参考書をコピペして使っても同様のエラーが出るのですが、Enumerationを使うためには何か準備が要るのでしょうか?
よろしくお願いします。

質問者からの補足コメント

  • public boolean setPlaneAnime(int planeNo, boolean mode) {
    int i, j;
    Plane pln;
    if((pln = (Plane)(planes.get(new Integer(planeNo)))) == null)
    return false;
    if(pln.planeMode != GRP_MODE)
    return false;
    if((pln.anime = mode) == true) {
    pln.animeList = new Integer[pln.grp.size()];
    Enumeration enum = pln.grp.keys();
    for(i = 0; enum.hasMoreElements(); i++)

      補足日時:2015/07/08 07:44
  • pln.animeList[i] = (Integer)(enum.nextElement());
    Arrays.sort(pln.animeList);
    Integer tmp;
    for(i = 0; i < pln.animeList.length - 1; i++)
    for(j = i + 1; j < pln.animeList.length; j++)
    if(pln.animeList[i].intValue()
    > pln.animeList[j].intValue()) {
    tmp = pln.animeList[i];
    pln.animeList[i] = pln.animeList[j];
    pln.animeList[j] = tmp;

      補足日時:2015/07/08 07:44
  • }
    }
    else
    pln.animeList = null;
    return true;
    }

      補足日時:2015/07/08 07:45
  • 非常に長かったので3つに分割してエラーが出る箇所を載せました。
    見にくくて申し訳ありません。

    一番上の段落の下から2行目の
    「Enumeration enum = pln.grp.keys();」の部分でエラーが出ます。

      補足日時:2015/07/08 07:47
  • ちなみに一番上の段落の3行目のPlainは以下のようなクラスです。
    よろしくお願いします。

    class Plane {
    boolean view = false;
    boolean anime = false;
    int posX = 0, posY = 0;
    Integer animeNo = null;
    Integer animeList[] = null;
    int planeMode = 0;
    Hashtable grp = new Hashtable();
    String str = null;
    Font font = null;
    Color color = null;
    Draw draw = null;
    }

      補足日時:2015/07/08 07:49

A 回答 (3件)

No.2です。


気になることがあるので追加します。

>参考書をコピペして
とありますが、
>Enumeration enum = pln.grp.keys();
の部分もコピペでしょうか?

enumが予約語になったのは、たぶんJava5からだったと思いますので、参考書で変数名として「enum」を使っているのであれば、その参考書は古い可能性があります。
基本的な部分では問題ないのかもしれませんが、予約語が増えているなど、サンプルコードを最近のJavaでそのまま使うには問題がある場合があるかもしれませんので、注意してください。
    • good
    • 0
この回答へのお礼

ありがとうございます。
enumを別の名前に変更したら正しく動作しました。

なお、本を調べてみたのですが、2004年の本でした・・・
質問の答えだけでなく、アドバイスもいただけて非常に助かりました。
本当にありがとうございました。

お礼日時:2015/07/09 23:16

Enumeration enum = pln.grp.keys();


となっていますが、「enum」は予約語(キーワード)のため変数名としては使用できません。
別の名前にしてください。

JavaDrive 予約語
http://www.javadrive.jp/start/const/index7.html
    • good
    • 0

……ごめん、どういうコードを実際に書いてそういうエラーになったか書いてないから何とも言えない。


すみませんが、そのエラーが出るコードをここにコピペしてください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!