所以我正在用java编码,我是一个新手,假设我有一个类
地方
public class Place{
private String name;
}
我有一个类
玩家
public class Player{
private Place location;
public void goLoc(Place p){
this.location=p;
}
}
我需要从用户那里获取他们想去的地方,并且我正在使用用户可以使用的枚举
到我的命令列表(GO,HELP...等),所以让我们假设我有这两个对象
:
Place r = new Place("Room");
Place r2 = new Place("Room2");
当用户进入例如go room时,我需要调用方法
goLoc(r)
但我存储了用户使用
。字符串
输入
Scanner in = new Scanner(System.in);
String loc = in.next();
如何通过其属性
名称
获取该r
对象
?或者还有其他更好的方法吗?
最佳答案
final List<Place> places = Arrays.asList(r, r2);
final Place selectedPlace = places.stream()
.filter(p -> p.getName().equals(loc))
.findFirst()
.orElse(null);
将 Place
的所有对象存储在列表中并利用流 API。
关于java - 如何将用户的输入与对象的属性进行比较并获取该对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59034125/