【发布时间】:2013-06-02 15:18:07
【问题描述】:
我正在尝试实现 s-java 编译器的变体。为此,我创建了一些代表不同变量的类。在某些时候,我想检查像 int a = b 这样的赋值行是否是合法赋值。 (b 可以是任何变量)所以我创建了一个 IntVariable a 实例,b 是一些 Variable 的一个实例,我正在检查 b instance of a 以确定是否可以将 b 实际上分配给 a。这只是instanceof 用法的一个示例,我还有一些其他情况(b 可以是字符串文字或数字),我正在使用instanceof 来查看我知道的任何选项是否存在并且是合法的确定分配是否合法。
我的问题是:是否可以不使用instanceof 以更好的方式做到这一点,或者我只能接受这样一个事实,即虽然它不那么漂亮,但它仍然有效,而其他方式要复杂得多?
编辑:
public boolean convertable(Type other) {
if (other instanceof FloatType || other instanceof DoubleType) {
return true;
}
return false;
}
【问题讨论】:
-
添加你当前的代码sn -p ..这样会更容易理解
标签: java instanceof