title: What does "String... params" mean if passed as a parameter?
body: <p>I found this code online and there's 1 part I don't understand. For the method doInBackground, the parameter passed is <code>String... params</code>. Could someone please explain to me what that means? What is that <code>...</code>?</p>
  
  <pre><code>public class AsyncHttpPost extends AsyncTask&lt;String, String, String&gt; {
      private HashMap&lt;String, String&gt; mData = null;// post data
  
      /**
       * constructor
       */
      public AsyncHttpPost(HashMap&lt;String, String&gt; data) {
          mData = data;
      }
  
      /**
       * background
       */
      @Override
      protected String doInBackground(String... params) {
          byte[] result = null;
          String str = "";
          HttpClient client = new DefaultHttpClient();
          HttpPost post = new HttpPost(params[0]);// in this case, params[0] is URL
          try {
              // set up post data
              ArrayList&lt;NameValuePair&gt; nameValuePair = new ArrayList&lt;NameValuePair&gt;();
              Iterator&lt;String&gt; it = mData.keySet().iterator();
              while (it.hasNext()) {
                  String key = it.next();
                  nameValuePair.add(new BasicNameValuePair(key, mData.get(key)));
              }
  
              post.setEntity(new UrlEncodedFormEntity(nameValuePair, "UTF-8"));
              HttpResponse response = client.execute(post);
              StatusLine statusLine = response.getStatusLine();
              if(statusLine.getStatusCode() == HttpURLConnection.HTTP_OK){
                  result = EntityUtils.toByteArray(response.getEntity());
                  str = new String(result, "UTF-8");
              }
          }
          catch (UnsupportedEncodingException e) {
              e.printStackTrace();
          }
          catch (Exception e) {
          }
          return str;
      }
  
      /**
       * on getting result
       */
      @Override
      protected void onPostExecute(String result) {
          // something...
      }
  }
  </code></pre>