Java 如何创建类声明对象,然后赋值
用户输入一个表达式。假设用户输入以下内容作为输入:Java 如何创建类声明对象,然后赋值,java,reflection,Java,Reflection,用户输入一个表达式。假设用户输入以下内容作为输入: new y java.util.ArrayList int:5 我已经成功地标记了字符串,并将其存储到字符串数组的不同位置。我想做的下一件事是,我应该检查索引上的内容,并按照上面输入的内容进行操作,以进行反射。我被困在如何做这件事上了。这是到目前为止我的代码 public static void handling_input() { System.out.println("Welcome To Java Comma
new y java.util.ArrayList int:5
我已经成功地标记了字符串,并将其存储到字符串数组的不同位置。我想做的下一件事是,我应该检查索引上的内容,并按照上面输入的内容进行操作,以进行反射。我被困在如何做这件事上了。这是到目前为止我的代码
public static void handling_input()
{
System.out.println("Welcome To Java Command Prompt: ");
aLine = null;
try
{
System.out.println("Enter The Command Line Expression: ") ;
keyboard = new BufferedReader(new InputStreamReader(System.in));
aLine = keyboard.readLine();
st = new StringTokenizer(aLine);
dt = new StringTokenizer(aLine);
}
catch (IOException ex)
{
System.out.println("Error reading input!");
}
}
public static void storing_tokens()
{
int counter =0;
while(st.hasMoreTokens())
{
counter++;
st.nextToken();
}
int i=0;
expression_keeper= new String[counter];
do
{
expression_keeper[i] = dt.nextToken().toString();
i++;
}while(dt.hasMoreTokens());
}
public static void token_classification()
{
for(int i=0; i<expression_keeper.length; i++)
{
if(expression_keeper[0].equalsIgnoreCase("new"))
{
}
else
if(expression_keeper[0].equalsIgnoreCase("call"))
{
}
else
if(expression_keeper[0].equalsIgnoreCase("print"))
{
}
else
{
System.out.println("Invalid Script!");
}
}
}
}
我想创建指定的类,它的对象和赋值给前面提到的修饰符 我不清楚输入字符串标记的真正含义。“java.util.ArrayList”是“y”的类型吗?它的初始大小应该是5个单位吗?或者第一个元素应该是5的整数 在过去,我发现编写自己的语法标记器和解析器是一件复杂的事情。即使是在简单的情况下,我也经常发现从长远来看,使用类似的东西更容易
通过正式地指定语法,您可以为代码提供更多的结构和可调试性。然后,正如其他地方所说,用内省来创造。实现这一点的软件包位于
java.lang.reflect
可能重复的@LuiggiMendoza中,这正是初学者应该搜索的!上述声明将被解释为“新ArrayList(5)”
if(expression_keeper[0].equalsIgnoreCase("new"))
{
}