将字符串数组作为参数传递给函数 java

2022-09-04 05:49:02

我想将字符串数组作为参数传递给函数。请看下面的代码

String[] stringArray = {'a', 'b', 'c', 'd', 'e'};

functionFoo(stringArray);

而不是:

functionFoo('a', 'b', 'c', 'd', 'e');

但是如果我这样做,我会收到一个错误,指出转换为.我想知道是否有可能传递这样的值,或者正确的方法是什么。String[]String


答案 1

怎么样:

public class test {
    public static void someFunction(String[] strArray) { 
        // do something 
    }

    public static void main(String[] args) {
        String[] strArray = new String[]{"Foo","Bar","Baz"};
        someFunction(strArray);
    }
}

答案 2

以上所有答案都是正确的。但请注意,当您像这样传递时,您将传递对字符串数组的引用。如果对被调用函数中的数组进行任何修改,它也将反映在调用函数中。

在Java中还有另一个称为变量参数的概念,您可以研究它。它基本上是这样工作的。例如:-

 String concat (String ... strings)
   {
      StringBuilder sb = new StringBuilder ();
      for (int i = 0; i < strings.length; i++)
           sb.append (strings [i]);
      return sb.toString ();
   }

在这里,我们可以调用像concat(a,b,c,d)这样的函数或您想要的任意数量的参数。

更多信息: http://today.java.net/pub/a/today/2004/04/19/varargs.html