【发布时间】:2021-03-05 12:03:13
【问题描述】:
我一直在尝试将多个字符串声明为方法的参数,而不为每个参数指定它们的类型,但是我没有成功。
我有什么:
private void Fields(String sName, String sSurname, String sMessage) {
teName.setText(sName);
teSurname.setText(sSurname);
teMessage.setText(sMessage);
}
我想要什么:
private void Fields(String sName, sSurname, sMessage) {
teName.setText(sName);
teSurname.setText(sSurname);
teMessage.setText(sMessage);
}
当然,第二个例子不起作用,但这只是为了让您了解我的意思。
有没有更短的方法?
【问题讨论】:
-
简短回答:不,它们是必需的。
-
更长的答案 - 你可以使用反射并在这个想法上开枪,将名为
paramName的参数分配给名为"prefix" + "paramName"的类字段,只是因为你认为它会节省你的时间或打字。 -
等一下,你想省略参数的类型吗?你试过
private void method(String... varArgList) -
看看this question 了解如何做到这一点。
-
出于兴趣,你为什么要这个?我只能看到它带来痛苦。 Varags 可能是一个解决方案,但是您需要保持将参数放入所有调用站点的方法调用的顺序,因此不太理想。
标签: java