我使用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)?
答案 0 :(得分:0)
使用正则表达式文本搜索并替换以替换:
UtilityClass.utilityMethod\((.*)\.getId\(\)\)
UtilityClass.utilityMethod\(\1\)
然后手动修复方法签名。
答案 1 :(得分:0)
选择utilityMethod(ItemId id)
,右键单击,然后选择重构>更改方法签名。选择保留原始方法的选项并弃用它。您最终会在UtilityClass
中使用这两种方法,并且由于弃用而会标记原始调用者。然后,您可以使用上面的正则表达式选项,或者只使用弃用警告随时间迁移。