0

我有一种情况,我检查一些类的 instanceOf 以继续我的逻辑。

例如。

if (obj instanceof X)
{
    result = true;
}

但是现在这在我的遗留代码中的很多地方都使用了。

我现在的问题是这个 instanceOf 只有在某些全局属性变量为真时才应该返回真。

我正在寻找一种替代解决方案来替换所有这些 instanceOf 检查,如下所示:

if (GLOBALPROPERTY == true)
{
    if (obj instanceof X)
    {
        result = true;
    }
}  

我可以在类 X 本身中注入这个检查,这样,无论我检查这个类的 instanceOf ,它都会返回 false 。

4

1 回答 1

1

不,你不能。

我能想到的最接近的事情是使用 AspectJ 进行面向方面的编程。但这会很棘手——首先,您可能必须从使用 instanceof 切换到使用适当的多态方法调用。

但实际上,您可能只需要在整个代码库中进行搜索和替换。

于 2013-10-27T11:08:37.290 回答