基本上是在尝试制作 java 命令提示符。假设用户输入作为用户的输入:
new x java.util.ArrayList
这里 x 是对象名称,java.util.ArrayList 是类。所以用户输入的这个脚本意味着创建一个java.util.ArrayList类的对象。
现在假设用户输入:
new x java.util.ArrayList int:5
意味着创建 java.util.ArrayList 的对象 x 并使其大小为 5。像这样,我希望每次我输入与对象创建相关的内容作为输入时,我应该能够根据输入创建其对象及其方法的类用户这样做。我是 java 和反射的新手,所以请帮忙!这是我到目前为止想到的代码:
public static void token_classification() throws ClassNotFoundException
{
my_hash = new HashMap();
Keep_Obj_Info = new HashMap();
if(expression_keeper[0].equalsIgnoreCase("new"))
{
my_hash.put("Object", expression_keeper[1]);
Class Obj= Class.forName(expression_keeper[2]);
Keep_Obj_Info.put("Modifier", Obj.getModifiers());
Keep_Obj_Info.put("Package",Obj.getPackage());
////????
Constructor[] constructors = Obj.getConstructors();
}
else
if(expression_keeper[0].equalsIgnoreCase("call"))
{
}
else
if(expression_keeper[0].equalsIgnoreCase("print"))
{
}
else
{
System.out.println("Invalid Script!");
}
}
ExpressionKeeper 基本上是一个字符串数组,它以标记化的形式保存用户输入。意味着新位置的空白区域旁边的任何东西。