如何将String []传递给JAVA中接受String的方法

时间:2015-08-04 08:26:17

标签: java android

我是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();
        }
    }
}

3 个答案:

答案 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[]
}
相关问题