Illegal Forward Reference and Enums

前端 未结 11 1444
-上瘾入骨i
-上瘾入骨i 2020-12-08 09:46

I\'m programming a game in java which is made up of a grid of tiles. I wan\'t to be able to inuitively define the edges of the tiles and how they relate to each other, e.g.

11条回答
  •  无人及你
    2020-12-08 09:57

    Here's another way

    public enum Edge {
    
        TOP("BOTTOM"),
        BOTTOM("TOP"),
        LEFT("RIGHT"),
        RIGHT("LEFT");
    
        private String opposite;
    
        private Edge(String opposite){
            this.opposite = opposite;
        }
    
        public Edge opposite(){
            return valueOf(opposite);
        }
    
    }
    

    Peter Lawrey's solution is however more efficient and compiletime safe.

提交回复
热议问题