有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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)

它工作得很好,但是很明显,ALLCARDINAL的元素可以被任何人随时更改。当然,我知道这些元素不是最终的

这很糟糕——我希望这是图书馆的一部分,并且尽可能稳定和可预测

我该如何解决这个问题? 创建一个每次都创建一个新数组的方法


共 (0) 个答案