所以我正在用Java编程,我是一个新手,假设我有一个class
地方
public class Place{
private String name;
}
我有一个class
玩家
public class Player{
private Place location;
public void goLoc(Place p){
this.location=p;
}
}
,我需要从用户想要去的地方获取信息,我正在使用enum
到我的用户可以使用的命令列表(GO,HELP ...等),所以我有这两个objects
:
Place r = new Place("Room");
Place r2 = new Place("Room2");
当用户输入例如去房间时,我需要呼叫method
goLoc(r)
,但是我用{ {1}}。
input
如何通过String
Scanner in = new Scanner(System.in);
String loc = in.next();
来获得r
object
?还是有其他更好的方法?
答案 0 :(得分:2)
final List<Place> places = Arrays.asList(r, r2);
final Place selectedPlace = places.stream()
.filter(p -> p.getName().equals(loc))
.findFirst()
.orElse(null);
将Place
的所有对象存储在列表中,并使用流API。