单独的方法如何调用eclipse?

时间:2012-05-07 13:31:38

标签: java eclipse plugins methods refactoring

我使用IDE Eclipse来使用java代码。我有这样的类结构:

class Item
{
    private ItemId id;
    public ItemId getId()
    {
        return this.id;
    }
}

class ItemId {/*just some class*/}

我还有一个用于恢复项目的方法,其中ItemId,方法有以下签名:

UtilityClass.utilityMethod(ItemId id);

所以,有很多这样的电话:

Item unpredictableItemName = ...
UtilityClass.utilityMethod(unpredictableItemName.getId());

ItemId unpredictableIdName = ...
UtilityClass.utilityMethod(unpredictableIdName);

我想编写新方法,它将使用已经构造的Item对象:

UtilityClass.utilityMethod(Item item);

所以问题是: 如何从

移动来电
UtilityClass.utilityMethod(unpredictableItemName.getId())

UtilityClass.utilityMethod(unpredictableIdName)?

2 个答案:

答案 0 :(得分:0)

使用正则表达式文本搜索并替换以替换:

UtilityClass.utilityMethod\((.*)\.getId\(\)\) UtilityClass.utilityMethod\(\1\)

然后手动修复方法签名。

答案 1 :(得分:0)

选择utilityMethod(ItemId id),右键单击,然后选择重构>更改方法签名。选择保留原始方法的选项并弃用它。您最终会在UtilityClass中使用这两种方法,并且由于弃用而会标记原始调用者。然后,您可以使用上面的正则表达式选项,或者只使用弃用警告随时间迁移。