Java中的常量数组
我有一个Move
类,它是不可变的(基本上只有两个int)
类Moves
带有常数:
public class Moves {
public static final Move NW = Move.make(-1, -1);
public static final Move N = Move.make(0, -1);
public static final Move NE = Move.make(1, -1);
public static final Move E = Move.make(1, 0);
public static final Move SE = Move.make(1, 1);
public static final Move S = Move.make(0, 1);
public static final Move SW = Move.make(-1, 1);
public static final Move W = Move.make(-1, 0);
public final static Move[] ALL = {
NW, N, NE, E, SE, S, SW, W
};
public final static Move[] CARDINAL = {
N, E, S, W
};
}
我需要用于以下方法的数组:
public void walkToRandomSide(Move[] possibleMoves)
它工作得很好,但是很明显,ALL
和CARDINAL
的元素可以被任何人随时更改。当然,我知道这些元素不是最终的
这很糟糕——我希望这是图书馆的一部分,并且尽可能稳定和可预测
我该如何解决这个问题? 创建一个每次都创建一个新数组的方法
共 (0) 个答案