我是Java新手,想要了解如何传递" String数组"接受" String"的方法。我是否需要转换" String array" to" String"
如下面方法所示,我正在传递字符串" abcd"方法" takeParam"。我想传递静态" String []"如下所示
String[] abcd = {"aa","bb"};
如何做到这一点:
private void Apps() {
try {
takeParam(abcd);
} catch (NameNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
答案 0 :(得分:1)
您无法将String[]
传递给String
的函数参数。
你可以:
使用String
发送String[]
阵列中的特定index
并循环播放。
String[] packageName = {"com.abc.abc","com.def.def"};
for(int i = 0; i < packageName.length; i++)
{
try
{
addDisallowedApplication(packageName[i]);
}
catch (NameNotFoundException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
或更改您的方法说明以接受String[]
。
public void addDisallowedApplication(String[] array)
答案 1 :(得分:0)
请开始方法名称小写。
private void addDisallowedApplication(String[] pAllPackage) {
或
private void addDisallowedApplication(List<String> pAllPackage) {
传递这样的值:
List<String> lAllPackage = new ArrayList<>();
lAllPackage.add(a);
lAllPackage.add(b);
addDisallowedApplication(lAllPackage)
或(如果你想用String数组做)
String[] lAllPackage = {a,b};
addDisallowedApplication(lAllPackage)
请不要忘记将addDisallowedApplication
的参数类型更改为String[]
或List<String>
<强>更新强>
List<String> lAllPackage = new ArrayList<>();
for (PackageInfo pi : list) {
Log.d(TAG, "Iterate package list");
lAllPackage.add(pi.packageName);
}
try {
addDisallowedApplication(lAllPackage);
} catch (NameNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
答案 2 :(得分:0)
如果你想将一些参数传递给方法,你必须这样做:
methodName(ArgumentType argument);
所以,对于你的情况,它将是:
//call your method:
{
...
String[] a = new String[]();
Apps(a);
}
private void Apps(String[] paramName) {
//do something with String array paramName[]
}