我有一种情况,我检查实例有些类继续我的逻辑。
例如。
if (obj instanceof X)
{
result = true;
}
但现在我的遗留代码中的很多地方都在使用它。
我的问题是现在这个instanceOf只有在某个全局属性变量为true时才返回true。
我正在寻找替代所有这些instanceOf检查的替代解决方案,如下所示:
if (GLOBALPROPERTY == true)
{
if (obj instanceof X)
{
result = true;
}
}
我是否可以在类X本身内部注入此检查,以便在我检查此类的实例时,它将返回false。
答案 0 :(得分:1)
不,你不能。
我能想到的最接近的事情是使用AspectJ进行面向方面的编程。但这很棘手 - 你可能不得不首先从使用instanceof切换到使用正确的多态方法调用。
但实际上,您可能只需要进行搜索并替换整个代码库。