★★Java質問・相談スレッド160★★
■ このスレッドは過去ログ倉庫に格納されています
0374デフォルトの名無しさん
2013/03/08(金) 00:59:49.34いっつも一つずつ
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)....
いやありか!?
■ このスレッドは過去ログ倉庫に格納されています