private String createURI (String URL , String... parameters) {
if (parameters != null && parameters.length > 0) {
return String.format(URL, "5435534", "John" , parameters[0].toString());
}
return String.format(URL, "5435534", "John");
}
Ich erstellte eine Methode, die URL oder URL + zusätzliche Parameter erhalten und erstellen Sie von ihnen eine URL durch die übergeben Werte. Natürlich sollte die Menge von% s in der URL der Anzahl der Parameter entsprechen.Receiving String ... Parameter und übergibt seine Werte an andere Methode, die String ... Parameter
Ich benutze es wie folgt aus:
createURI ("%s/call/%s")
==> 5.435.534/Anruf/John
createURI ("%s/call/%s/%s" , "familyName")
==> 5.435.534/Anruf/John/family
ich etwas geschaffen, wie diese wollte nicht : String createURI (String URL , String parameter)
und übergeben Sie einfach leere Zeichenfolge, wenn ich es nicht verwenden möchte und dann in der Methode einchecken, ob der Text leer ist oder nicht, und rufen Sie die Methode den nächsten Weg:
createURI ("%s/call/%s" , "")
createURI ("%s/call/%s/%s" , "FamilyName")
meine Frage ist, wie kann ich es verbessern, indem Sie genau die Argumente an die String.format-Methode geschickt senden, ohne das [0] -Element explizit zu senden - ich möchte die Werte nicht überprüfen, die String.format
tut es aber schon Zeichenfolgewerte Wenn ich die Parameter nur so übergebe wie (Typ String ...) an String.format(URL, "5435534", parameters)
, erhält sie nicht den tatsächlichen Stringwert, sondern das vollständige Objekt.
Nicht ganz sicher, was Sie versuchen, aber haben Sie versucht, einen Blick auf die Zeichenfolge api https://docs.oracle.com/javase/8/docs/api/java/lang/String.html? –
Ich glaube nicht, dass Sie die Methode 'String.format' in der von Ihnen gewünschten Weise verwenden können. Wahrscheinlich müssen Sie die Verkettung stattdessen mit einer Schleife kombinieren. –
Randnotiz: Wenn 'Parameter' ein Array von' String' ist, hat die Verwendung von 'toString()' auf 'Parameter [0]' keinen Sinn. 'Parameter [0]' sind genau die gleichen wie 'Parameter [0] .toString()'. – ajb