title: Android String.format() Crash with no reason
body: <p>I am having a strange crash/error that happened without changing anything. 
  I am using Volley for network requests and i have a separate class with my URL end points.</p>
  
  <p>I am using <code>MY_REQUEST_URL + myparam=%s</code> as the link and in the volley request i am using <code>String.format(EndPoints.MY_REQUEST_URL, myparameter)</code> and when I run this request in my app, it crashes (see the log below).</p>
  
  <p>What is even stranger is that i am using the same type of requests in the same app and they all work fine except this and another one.</p>
  
  <p>MyClass code:</p>
  
  <pre><code>public class MyClass extends Fragment{
  // other declarations
  ArrayList&lt;JSONObject&gt; data;
  View view 
  
  @Override
  public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
      view = inflater.inflate(R.layout.fragment_myclass, null);
  
      // initializing lots of views
      data = new ArrayList&lt;JSONObject&gt;();
      String userid = Utils.getStringFromPreferences(getActivity(), Utils.VAR_USERID); // this is a custom method of getting from shared preferences, it is static in my custom Utils class
      getData(userid);
  
      return view;
    }
  
    //different methods
  
    //getData Method
     private void getData(String userid) {
      String url = String.format(EndPoints.URL_MY_REQUEST_URL, userid);
      Log.d("request url debug", url);
  
      StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
              new Response.Listener&lt;String&gt;() {
                  @Override
                  public void onResponse(String response) {
                      // Result handling
  
                      Log.e("data", response);
                      if (!response.equals("") || response != null) {
                          try {
                              // response handling
  
  
                          } catch (JSONException e) {
                              // e.printStackTrace();
  
                          }
                      } else {
                      }
                  }
  
              }, new Response.ErrorListener() {
          @Override
          public void onErrorResponse(VolleyError error) {
              System.out.println("Something went wrong!");
              error.printStackTrace();
  
          }
      });
      stringRequest.setRetryPolicy(new DefaultRetryPolicy(
              10000,
              DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
              DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
      // Add the request to the queue - i have a custom class for this, used in every network request that works fine 
      VolleyRequestQue.getInstance(InsuitBusiness.getContext()).addToRequestQueue(stringRequest);
  } 
  
  }
  </code></pre>
  
  <p>This is the Endpoints class:</p>
  
  <pre><code>public class Endpoints {
  public static String MY_MAIN_URL = "https://www.myweb.com/"
  
  public static String MY_REQUEST_URL = MY_MAIN_URL + "scripts/getData.php?userid=%s"
  // the rest of the class is all the same like stringname = MY_MAIN_URL + "phpscript.php?parameter=%s"
  
  }
  </code></pre>
  
  <p>This is the error log: </p>
  
  <pre><code> Caused by: java.util.MissingFormatArgumentException: Format specifier '%s'
              at java.util.Formatter.format(Formatter.java:2490)
              at java.util.Formatter.format(Formatter.java:2426)
              at java.lang.String.format(String.java:2626)
              at com.myapp.myapp.MyClass.getData(MyClass.java:1220)
              at com.myapp.myapp.MyClass$getDataAsync.doInBackground(MyClass.java:1208)
              at com.myapp.myapp.MyClass$getDataAsync.doInBackground(MyClass.java:1204)
              at android.os.AsyncTask$2.call(AsyncTask.java:304)
  </code></pre>