场景:
我有两个名为ListLayout和GridLayout的类,它们都实现CustomLayout。
用户输入一个表示他们希望使用的布局的字符串(例如“ ListLayout”)
如何基于用户输入的字符串创建ListLayout对象?我需要等同于这样做:
CustomLayout layout = new ListLayout();
理想情况下,我需要找到一个解决方案,使我可以在实际制作对象之前检查输入的String是否对应于实现CustomLayout的预定义类(因为如果它不存在,它将抛出错误,因此我不检查)预先)。
这真的让我开始思考...。在此先感谢您的帮助
最佳答案
做这样的事情:
String userInput = //get user's input
while(!userInput.equalsIgnoreCase("ListLayout") && !userInput.equalsIgnoreCase("gridLayout")){
System.out.println("Please enter a valid option");
userInput = //get user's input again
}
CustomLayout layout;
if(userInput.equalsIgnoreCase("ListLayout")
layout = new ListLayout();
else
layout = new GridLayout();