我正在清理一些代码,并在com.example.StringHelper上发生了该事件,它包含6或7个公共静态方法(例如concatStrings(String …),但没有成员字段.有许多类在该类中子类化,因此它们可以调用concatStrings(str1,str2)而不用像这样的类作为前缀:StringHelper.concatStrings(str1,str2).
我不希望他们仅仅因为这个原因而继承一个类,所以我折腾了一大堆.在删除扩展StringHelper之后,我将以下静态导入粘贴到对其进行子类化的任何文件的顶部:
import static com.example.StringHelper.*;
Eclipse仅针对所使用的方法将其简化为特定的导入.
问题:是否有简单的方法可以让Eclipse“内联”这些静态导入?我可以获取它来删除实际的静态导入,并为每个调用加上StringHelper前缀.代替?
注意
这是一个简化的人为示例,所以请不要抱怨为什么我们首先需要一个StringHelper.
解决方法:
这样做:
>突出显示对concatStrings()的一次调用.确保在突出显示中包含括号.选择“重构/提取方法”,将其命名为foo.确保检查“用方法替换其他47条出现的语句”
>在新的foo方法中,添加“ StringHelper”. concatStrings调用的前缀
>删除导入静态
>进行重构/内联以摆脱foo,并将您的静态调用以及它们闪亮的新前缀放回它们所属的位置.
标签:eclipse,java,refactoring 来源: https://codeday.me/bug/20191023/1914999.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。