2012-04-05 13 views
0

Ich deklariere ein String-Array von [2] [5]. Bis dahin ist alles in Ordnung. Ich kann Dinge in das Array einfügen.[Java] Nullwert in String Array, wenn int eingefügt

Aber wenn ich einen Integer-Wert in das Array einfügen, wird das Schlüsselwort 'null' automatisch vor diesem int-Wert hinzugefügt.

Also sagen wir 5 in ArrayName [1] [0] eingefügt. Wenn ich es danach drucke, bekomme ich 'null5'. Was ist komisch.

Was genau Sie Jungs denken, das Problem ist. Danke, C @ N.

+3

Könnten Sie bitte etwas Code posten? –

+0

Warum fügen Sie int in ein Array vom Typ String ein? – giorashc

+0

Das Problem ist klar: Warum fügen Sie Ganzzahlen in ein String-Array ein? Rufen Sie 'array [n] [m] = String.valueOf (Wert)' auf. – Stephan

Antwort

1

Die einzige Art, wie ich dies zu sehen ist, wenn Sie verwenden + =:

String[] a = new String[1]; 
a[0] += 1; 
System.out.println(a[0]); 

Ursache, wenn Sie nur a[0] = 1; verwenden Sie würden Fehler erhalten kompilieren. Der Grund, warum Sie bekommen null5 ist, weil Sie die Zeichenfolge „null“ mit 5 verketten:

a[0] = (String) null + 1 

Die Frage ist also, was wollen Sie erreichen? Einfach den Wert einstellen oder hinzufügen?

Wenn Sie nur festlegen möchten es verwenden:

String[] a = new String[1]; 
a[0] = Integer.toString(1); 
System.out.println(a[0]); 

Wenn Sie es anhängen wollen:

String[] a = new String[1]; 
if (a[0] == null) { 
    a[0] = Integer.toString(1); 
} else { 
    a[0] += 1; 
} 
System.out.println(a[0]); 
+0

Danke Kumpel. Genau das, was ich brauchte. Bin dankbar. –

4

Wenn Sie += verwenden Artikel hinzufügen, dann denke ich, diese könnte passieren. Verwenden Sie String.valueOf()

0

, wenn Sie eine String-Variable let verwenden sagen myString (als Instanzvariable mit Standardwert null) und wie diese some tun -

int i=5; 
myString = myString+i; 

, weil Sie nicht initialisieren String myString es bekommen Standardwert null und addieren mit i.

Dies kann einer der Situation sein.