上下文:我们的任务是编写一个小的解释器。提示我们的目标之一是,我们不仅要使用类型double
的变量,而且还要最终能够使用任何类型的变量。
我发现这样做是为了将type
读为String
,并将value
设置为通用变量。然后,我们将value
强制转换为任何Type表示的类型。
我可能会做很多if语句...
if(type.equals("String")) { /*Cast Value to String*/ }
但这太不雅观了,似乎是错误的。另外,如果用户要定义新的变量类型怎么办?我认为,很难编码可能的types
是答案。
问题:是否可以或多或少地将通用变量直接转换为用户输入的类型?
答案 0 :(得分:0)
看起来您的问题有两个部分。
Type
接口来实现,该接口可以具有一个将字符串转换为您的parse
的{{1}}方法。每个Type
界面还可以提供一个由用户输入的名称(如double或name等)。