在Eclipse中,如何知道Java方法上的游标是哪个参数?

时间:2016-09-16 13:23:03

标签: java eclipse ide

在Eclipse IDE中,我有一个带有大量可空参数的Java方法

src.myCrazyFunction(year, name, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);

我想用城市参数' NY'来调用该功能。 通过使用Javadoc工具提示,我必须计算参数直到" String city"然后:

src.myFunction(year, name, null, null, null, null, null, null, null, null, null, null, 'NY', null, null, null, null, null, null, null, null, null, null, null);

每次我必须使用这种方法时,计算参数真的很无聊。

我能知道光标所在参数的名称吗? CTRL + SPACE将用于所有参数...

3 个答案:

答案 0 :(得分:1)

第一件事:你应该改变这种方法,如果它真的那样,它是疯了。其次,我不知道你的意思,但是在Eclipse中你输入src.它会显示所有可用的方法,点击你的方法,代码将以参数名作为参数生成(为你改变这一点)。例如,如果您键入"someString".indexOf并选择一个方法,它将生成"someString".indexOf(ch, fromIndex)(那些不是变量或任何东西,那些是indexOf方法声明中指定的参数名称,它们将给出编译 - 时间错误,如果你不改变它们)。您可以看到您的参数名称,因此可以快速将特定的一个更改为NY,您仍然必须自己编写空值。我希望我能正确理解你。

答案 1 :(得分:1)

正如comment中@nos所解释的那样,在Eclipse中按ctrl+space会弹出一个工具提示,突出显示(在粗体中)光标所在的参数,如图所示在@nos提供的图像中:
enter image description here

但是,这仍然需要IDE支持并且使用(你必须定位光标并触发它以使用它)相对麻烦,所以你应该考虑其他方法。

没有方法应该采用24个参数,但如果你绝对必须,那么你应该注释所有不明确的参数值,例如: yearname可能具有足够的解释性,但null0false42true等值。不传达意思,所以你应该评论它们:

src.myFunction(year,
               name,
               /*address1*/null,
               /*address2*/null,
               /*city*/null,
               /*state*/"NY",
               /*zipcode*/null);

通过这种方式,一个随意的观察者将确切地知道这些值的含义。

另一种方法是将所有参数值包装在POJO中并使用构建器模式。

src.myFunction(new MyPojo()
               .setYear(year)
               .setName(name)
               .setState("NY"));

答案 2 :(得分:1)

按参数提示/上下文信息 - Ctrl+Shift+SPACE

enter image description here