- 374 名前:デフォルトの名無しさん mailto:sage [2013/03/08(金) 00:59:49.34 ]
- キー入力のフラグをenumでうまくかけないかな?
いっつも一つずつ private boolean keyLeft; みたいな感じで定義してるのだけども、これをうまくまとめて書きたい いくつ必要かわからないことを考えるとArrayList<Boolean>にするのがいいのかな? だけどArrayList<Boolean>しようがboolean[]にしようがインデックスはint型なんですよね だから今までprivate static final int LEFT = 0;のようにint型でインデックスを定数化?する書き方が主流だったが それじゃダメだっつうんでenumが出てきた? public enum KeyType { LEFT, ....., ESCAPE } みたいなenumを配列やリストのint型のインデックスにうまく対応させる方法があれば教えてほしい イメージとしては private ArrayList<Boolean> keyFlag = new ArrayList<Boolean>(); if(!keyFlag.get(ここでenumのKeyTypeをうまく利用したい)) .... とか private boolean[] keyFlag = new boolean[2]; if(!keyFlag[ここでenumのKeyTypeをうまく利用したい]) ... みたいな感じ 今思いついたけどさすがにこれはなしか? private HashMap<KeyType, Boolean> keyFlag = new HashMap<KeyType, Boolean>(); if(....) keyFlag.put(KeyType.LEFT, false); if(!keyFlag.get(KeyType.LEFT).... いやありか!?
|

|