Ich habe folgende Funktion, die Eingabe ist nur ein einfacher String.Warum gibt es null vor meiner frischen Schnur?
public X509CertificateHandler getCertByFingerprint(String thumbPrint) {
if (_thumbprintMap.containsKey(thumbPrint)) {
return _thumbprintMap.get(thumbPrint);
}
}
Also in meinem Testfall, ich bin der Wert nur hartzucodieren es nur zu testen, aber ich brauche sie Groß zu sein, so dass ich werfen es in Apache Common, einfach nicht wahr?
certs.getCertByFingerprint(StringUtils.upperCase("eb55b661dd9133bc564aa259bcd0c598ce02892f"));
Nun ist die Komische ist, dass, wenn ich in meiner Funktion Schritt erwartet der String-Wert ist, den Ball in die Funktion anders als ich!
Aus irgendeinem Grund scheint am Anfang der Variablen eine null
zu sein! den folgenden Putting es in meinem Gesichtsausdruck zu sehen, die ich erhalte:
Wie Sie sehen können, gibt es ein extra [,
Zeichen vor dem String ... Dies ist der Grund, warum ich nicht finden konnte, was ich von meinem Array suche! Aber warum?
Um sicherzustellen, dass ich nicht verrückt bin, lief ich folgendes:
String fingerprint = "eb55b661dd9133bc564aa259bcd0c598ce02892f";
String f2 = StringUtils.upperCase(fingerprint);
f2.equals(fingerprint);
Da ich die Zeichenfolge bin initialisieren, gibt es keine Möglichkeit, dass ich eine null
vor ihm bekommen .. aber immer noch die oben Code gab mir immer noch [,
vor meiner frischen Schnur ... wtf?
Ihre Methode wird nicht kompiliert. – shmosel
"Aus irgendeinem Grund scheint am Anfang der Variablen eine Null zu sein!" Das ist praktisch unmöglich. Ein 'String' in Java verwendet einen' char [] 'als Backing-Speicher und Sie können keine' null'-Werte in einem primitiven Array speichern. Und das '[' ist Teil der 'String'-Darstellung des Arrays, kein Zeichen. Es sollte ein ']' auf der rechten Seite sein. – Turing85
@ Turing85 Ich weiß, weshalb es mich verrückt macht. Wenn du dir meinen Screenshot anschaust, verwende ich die erste Zeile, wenn ich die Variable verwende, die zweite Zeile benutze den fest codierten Wert. Es konnte den Schlüssel in meiner Karte nicht finden, aber es tut, wenn ich den Hardcode-Wert zur Verfügung stelle. – codenamezero