Java 如何比较用户';输入一个对象的属性并获取该对象?
所以我用java编程,我是一个新手,假设我有一个Java 如何比较用户';输入一个对象的属性并获取该对象?,java,string,object,enums,Java,String,Object,Enums,所以我用java编程,我是一个新手,假设我有一个类位置 public class Place{ private String name; } 我有一个类播放器 public class Player{ private Place location; public void goLoc(Place p){ this.location=p; } } 我需要从用户那里得到他们想要去的地方,我正在使用一个enum到我的命令列表,用户可以使用它(go,
类
位置
public class Place{
private String name;
}
我有一个类
播放器
public class Player{
private Place location;
public void goLoc(Place p){
this.location=p;
}
}
我需要从用户那里得到他们想要去的地方,我正在使用一个enum
到我的命令列表,用户可以使用它(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 places=Arrays.asList(r,r2);
final List<Place> places = Arrays.asList(r, r2);
final Place selectedPlace = places.stream()
.filter(p -> p.getName().equals(loc))
.findFirst()
.orElse(null);
最终地点selectedPlace=places.stream()
.filter(p->p.getName().equals(loc))
.findFirst()
.orElse(空);
将的所有对象存储在列表中,并使用流API