s-java コンパイラのバリエーションを実装しようとしています。そのために、さまざまな変数を表すいくつかのクラスを作成しました。ある時点で、このような割り当て行int a = bが合法的な割り当てであるかどうかを確認したいと思います。(bは任意の変数である可能性があります)したがって、IntVariable aインスタンスを作成し、bはいくつかのインスタンスであり、bを実際にaに割り当てることができるかどうかをVariable確認しています。b instance of aこれはinstanceof使用例にすぎません。他にもいくつかのケースがあり (b は文字列リテラルまたは数値である可能性があります)、 を使用してinstanceof、私が知っているオプションのいずれかが存在し、代入が法的。
私の質問は次のとおりです。これを使用しないでより良い方法で行うことができますinstanceofか、それともそれほどきれいではありませんが、それでも機能し、他の方法ははるかに複雑であるという事実に耐えなければなりませんか?
編集:
public boolean convertable(Type other) {
if (other instanceof FloatType || other instanceof DoubleType) {
return true;
}
return false;
}