【发布时间】:2016-06-30 15:26:02
【问题描述】:
我正在尝试遍历 for 循环并根据其所在的迭代设置列表的元素,但迭代类型与我要访问的列表类型不同
private List<Double> myBeaconDistances = new ArrayList<>();
private List getBeaconDistances(List<Beacon> beacons){
for (Beacon beacon : beacons) {
double distance = Utils.computeAccuracy(beacon);
this.myBeaconDistances.set(beacon, distance);
}
return myBeaconDistances;
}
显示的错误是信标类型不正确,它应该是整数,但信标不是整数。有谁知道添加另一个迭代器或临时将信标设置为整数的方法?
distance = Utils.commputeAccuracy(beacon) will return an double.
顺便说一句,信标只是我制作的一些对象,但它们由 UUID、主要和次要数字组成。这可能无关紧要,但以防万一您想知道。谢谢!
【问题讨论】:
-
您是否尝试存储由信标和距离组成的键值对,以便给定信标您可以查找距离?如果是这样,您需要
Map<Beacon,Integer>,而不是List。此外,如果是这种情况,Beacon必须正确实现equals()和hashCode()。 -
有点吹毛求疵:尝试理解编译器给你的错误信息真的很有帮助!吉姆加里森是对的,顺便说一句。
-
@JimGarrison 是的,这就是我想要做的,谢谢你我会实现的
标签: java list loops ibeacon-android estimote