作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想将人员对象的目标变量(int 类型)与电梯对象的当前楼层变量(int 类型)进行比较。 person 对象位于属于 Lift 类的 ListArray 中。我正在使用迭代器接口(interface)来迭代 ListArray,以将每个人的目的地与电梯的当前楼层进行比较。 match(int destination) 方法用于返回 true 或 false。
这是我的代码,不起作用:
Iterator iterator = lift.getOccupants().iterator();
while(iterator.hasNext()){
if(lift.match(iterator.next().getDestination())){
}
getDestination()
方法带有下划线并带有错误:
cannot find symbol, method getDestination(), location class Object
最佳答案
next()
方法返回类型是 Object,因此您需要将其类型转换为 Person
对象。
喜欢
((Person)iterator.next()).getDestination()
或者,您可以使用像 List 这样的通用列表对象,并通过它获取通用迭代器。
Iterator<Person> iterator = lift.getOccupants().iterator();
那么你就不需要任何转换。
关于java - 如何从迭代器 next() 方法返回的对象中获取信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23011130/
我是一名优秀的程序员,十分优秀!