【问题标题】:add elements to the ArrayList向 ArrayList 添加元素
【发布时间】:2015-05-04 12:17:10
【问题描述】:

我正在尝试将请求的地理坐标存储在 ArrayList 中,以检查其中一些是否位于同一个外接圆中,但是在每次请求之后,一个元素只是被添加到列表中!每次调用请求后,如何管理它以将所有元素添加到 ArrayList?

接收器类:

    import java.util.ArrayList;
    import java.util.List;

    import javax.ws.rs.Consumes;
    import javax.ws.rs.POST;
    import javax.ws.rs.Path;
    import javax.ws.rs.core.MediaType;
    import javax.ws.rs.core.Response;


@Path("/test")
public class Receiver  {

    private ArrayList<LatLong> latLongList;
    @POST
    @Consumes(MediaType.APPLICATION_JSON)
    public Response storeData(Data data) {

        String macD = data.getMac();
        int routeD = data.getRoute();
        float latD = data.getLatitude();
        float longD = data.getLongitude();

        latLongList = new ArrayList<>();

        latLongList.add(new LatLong(latD, longD));

        System.out.println("latLondList size: " + latLongList.size());


        Database db = new Database();
        db.insertData(macD, routeD, latD, longD);

        return Response.status(201).build();
    }
}

数据类:

@Provider
public class Data {
    private String mac;
    private int route;
    private float latitude;
    private float longitude;

  //getter setter constructor.
}

LatLong 类:

public class LatLong {

    float latitude;
    float longitude;

    //getter setter constructor.
}

【问题讨论】:

  • 缺乏细节。我没有看到任何请求!
  • 我认为你没有提供完整的代码。阅读一些有关应用程序上下文的信息。
  • @Brett:请看我更新的代码,我认为这段代码就足够了。
  • latLongList 作为类变量会更合适吗?
  • @Brett 我将它声明为类变量,但我仍然得到相同的输出1 请查看我的问题代码。

标签: java arrays geocoding


【解决方案1】:

试试这个:

public class Receiver  {
    private static ArrayList<LatLong> latLongList = new ArrayList<>();

    @POST
    @Consumes(MediaType.APPLICATION_JSON)
    public Response storeData(Data data) {

        String macD = data.getMac();
        int routeD = data.getRoute();
        float latD = data.getLatitude();
        float longD = data.getLongitude();

        latLongList.add(new LatLong(latD, longD));

        System.out.println("latLondList size: " + latLongList.size());


        Database db = new Database();
        db.insertData(macD, routeD, latD, longD);

        return Response.status(201).build();
    }
}

编辑:删除了第二个latLongList 变量。

【讨论】:

  • 请检查你的代码我得到Duplicate field Receiver.latLongList
  • 如果你删除重复的这一行private ArrayList&lt;LatLong&gt; latLongList;就可以了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-17
  • 2021-03-19
  • 2014-05-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多