为了账号安全,请及时绑定邮箱和手机立即绑定

我如何将其转换为 Java,也许使用 Maps

我如何将其转换为 Java,也许使用 Maps

aluckdog 2021-11-17 16:59:14
我为我的作业选择了一个 JS 代码,但我在用 Java 实现它时遇到了问题。我的目标是创建城市的预定义值。* Removed JS code *我如何将其转换为 Java,也许使用 Maps,我有一个想法。我只是不知道如何将它们完美地组合在一起。Map<String, Object> routes = new TreeMap<>();routes.put("route1", "U");routes.put("route2", "C");routes.put("direction", Object);Map<String, Map<String, Object>> cities = new HasHMap<>();cities.put("NewYork", routes.get("route1"));cities.put("LosAngeles", routes.get("route2"));
查看完整描述

1 回答

?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

基于您的原始概念...


const cities = {

  NewYork: {

    route1: 'U',

    route2: 'C',

    direction: (x, y)=>{

      return {x:x+2, y:y*2};

    },

  },

  LosAngeles: {

    route1: 'U',

    route2: 'C',

    direction: (x, y)=>{

      return {x:x+2, y:y*2};

    },

  },

};

enum如果您想要一组无法更改的预定义值,我会使用 POJO(普通的旧 Java 对象)或者可能使用 POJO 。


从一个Direction类开始,使这更简单......


public class Direction {

    private int x;

    private int y;


    public Direction(int x, int y) {

        this.x = x;

        this.y = y;

    }


    public int getX() {

        return x;

    }


    public int getY() {

        return y;

    }

}

并且可能是 enum


public enum City {

    NEW_YORK("U", "C"),

    LOS_ANGELES("U", "C");


    private String route1;

    private String route2;


    private Cities(String route1, String route2) {

        this.route1 = route1;

        this.route2 = route2;

    }


    public Direction direction(int x, int y) {

        return new Direction(x + 2, y * 2);

    }


}

现在,如果您需要能够在运行时创建不同的城市,您可能会考虑更像......


public class City {


    private String route1;

    private String route2;


    private City(String route1, String route2) {

        this.route1 = route1;

        this.route2 = route2;

    }


    public String getRoute1() {

        return route1;

    }


    public String getRoute2() {

        return route2;

    }


    public Direction direction(int x, int y) {

        return new Direction(x + 2, y * 2);

    }


}

请记住,您使用 OO 语言时,请利用可用的构造使您的生活更简单


查看完整回答
反对 回复 2021-11-17
  • 1 回答
  • 0 关注
  • 135 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信