【发布时间】:2018-07-26 16:28:04
【问题描述】:
上下文:
我们有一系列鸟类的状态。
bird {
power:
...
...
home:
...
...
status:
[0] {age: 2, name: 'John'}
[1] {age: 4, name: 'Gary'}
[2] {age: 10, name: 'David'}
[3] {age: 10, name: 'Jake'}
[4] {age: 8, name: 'Steve'}
phone:
...
...
}
我想做的事:
我想得到10岁的鸟的名字。
但是有几只鸟的年龄相同。我只想要第一次出现的名称。
所需的最终结果:
我希望它返回的结果是“大卫”。
当前结果:
我将返回“David”和“Jake”。
我做了什么:
List<BirdStatus<?>> birdStatusesToTake = bird.getStatuses().subList(0, bird.getStatuses().size());
for(BirdStatus birdStatus : birdStatusesToTake){
if (birdStatus.getAge() == 10) {
System.out.println(birdStatus.getName());
}
}
我的问题:
如何只返回第一只年龄为 10 岁的鸟的名字?
【问题讨论】:
-
我已经尝试过 indexOf() 之类的方法,但仍然无法得到想要的结果。
-
您有一个
return声明。因此,一旦找到匹配项,它将不会继续。所以,你一定只能得到David -
这是在方法中吗?
-
是的,它在一个方法中
-
@EagleOne 您从哪里调用该方法?