[英]Shortcut for calling all the setter methods on an object in Eclipse?
我想创建一个类的对象,然后使用setter方法设置其中的所有属性。 有超过150个setter方法,我确实想要键入它们中的每一个,甚至在dot中输入对象实例名称Object instance
类型.
然后点击Eclipse的空格键给我建议,然后选择setter方法。 我不想这样做150次。
因此,我在Eclipse中寻找某种快捷方式,允许您调用方法上的所有setter。 就像你输入实例名称一样,Eclipse会调用所有的setter方法,例如
我不能在类中创建另一个构造函数,我不允许这样做
根据我上次的经验,我找不到eclipse有这样的功能。我能做的最多就是打开Type Hierarchy
View(在查看该类时按F4 ),然后按该类的方法名称排序并复制所有塞特犬进一步编辑。
或者,您可以使用反射来查找此类的所有方法,并打印出setter调用。 假设这个类叫做Foo
,你可以这样:
for (Method m : Foo.class.getMethods()) {
if (m.getName().startsWith("set")) {
System.out.println(String.format("instanceName.%s(\"valOne\");", m.getName()));
}
}
我不想这样做150次
我不知道任何Eclipse功能可以帮助你。
你可以回过头来使用像emacs键盘宏或perl脚本这样笨重的东西来按摩Eclipse之外的源代码。
你的另一个选择(虽然它可能不会很有效......)是要求修改繁琐的API; 例如,支持“建设者”模式。
我有Eclipse 4.6.0 - 它有一个自动生成getter和setter的选项(不确定早期版本的Eclipse)。
(a)选择你的课程(和右键单击)(b)选择来源(Shift + Alt + S)(c)选择Getters和Setters生成的弹出窗口(Generate getters&setters)允许您选择ALL或Individual字段。
希望这有帮助(如果仍然相关)。
以下是我使用的一些提示 -
Ctrl + Shift + A - > eclipse块选择(这是魔法工具01)
Ctrl + F - > eclipse查找/查找和替换(魔法工具02)
Ctrl + Shift + X - >大写(工具03)
我是怎么做的
块选择 - >选择所有字段名称(工具01)例如:用户
选择所有首字母并将第一个字母设为大写(工具01/03)
例如:用户
选择全部并放置单词集(工具01)Ex:setUser
排列好所有字段。 所以你可以直接使用块选择器
选择全部并设置“();” 例如:setUser();
现在你准备好了所有的安装人员
如果要在括号内插入值,可以使用魔术工具02.查找并替换(稍微想一想,你会看到一个选项)
最后,从getter / setters设置中节省您的无聊时间。
干杯!
如果您使用的是IntelliJ,请查看此插件:
鉴于你已经达到了这种状况,我会认真考虑重新设计你的课程。 在不了解这个课程或你的目标的情况下,我冒昧地认为几乎没有理由拥有150个单独的领域,特别是如果它们属于同一类型。 想想看 - 如果你已经处于这种困境中,将来维护这段代码有多容易?
如果字段都是相同类型,请考虑使用数组, List
或Map
(property-> value)。 如果它们有许多不同的类型,请考虑如何将它们分解为可以更容易管理的组件类。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.