gpt4 book ai didi

java - 如何获取两列的值并存入ArrayList

转载 作者:搜寻专家 更新时间:2023-10-30 22:07:53 25 4
gpt4 key购买 nike

我正在使用 Spring 框架,在下面的代码中,我想从数据库中获取经纬度并将其存储在 ArrayList 中,然后计算它们之间的距离。

问题是当我按照以下方式执行此操作时,我无法弄清楚如何获取变量中两列的值 [Ljava.lang.Object;无法转换为 java.lang.Double 抛出异常

有人能帮帮我吗?我读到我们可以使用 2D ArrayList 但我如何在以下代码中使用 ArrayList

RiderService.java

@Component
public class RiderService {

@Autowired RiderLocationRepository riderLocationRepository;

public float Location(Double lattitude,Double longitude)
{
Double lat2=24.927437;
Double lng2=67.094412;

ArrayList<Double> allRidersLocation = new ArrayList<Double>();
allRidersLocation= riderLocationRepository.findAllRidersLocation();
Iterator<Double> iterator = allRidersLocation.iterator();
while (iterator.hasNext()) {
System.out.println(" DB value " + iterator.next().doubleValue());
}
float distance=distFrom(lattitude, longitude, lat2, lng2);
System.out.println("Distance : " + (distance/1000));
return distance;
}

RiderRepository

public interface RiderLocationRepository extends JpaRepository<RiderLocation, Long>{

@Query("select r.latitude,r.longitude from RiderLocation r ")
ArrayList<Double> findAllRidersLocation();

}

最佳答案

试试这个,

public float Location(Double lattitude,Double longitude)
{
Double lat2=24.927437;
Double lng2=67.094412;

List<RiderLocation> allRidersLocation = riderLocationRepository.findAll();
for (RiderLocation riderLocation : allRidersLocation) {
float distance=distFrom(riderLocation.getLattitude(), riderLocation.getLongitude(), lat2, lng2);
System.out.println("Distance : " + (distance/1000));
return distance;
}
}

默认情况下,findAll() 方法在 CrudRepository 上可用

public interface RiderLocationRepository extends JpaRepository<RiderLocation, Long>{

}

关于java - 如何获取两列的值并存入ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43514383/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com