Was ist der standardmäßige Anfangswert eines Java-Strings?

Lesezeit: 2 Minuten

Benutzer-Avatar
Selvin

Stellen Sie sich ein Java-String-Feld mit dem Namen vor x. Was wird der Anfangswert von sein x wenn ein Objekt für die Klasse x erstellt wird;

Ich weiß das für int Variablen wird der Standardwert als zugewiesen 0, während die Instanzen erstellt werden. Aber was wird daraus String?

Es wird auf null initialisiert, wenn Sie nichts tun, wie alle Referenztypen.

  • warum wird es nicht als leere Zeichenfolge “” zugewiesen? Wird Integer auch null?

    – Selvin

    22. März 2011 um 9:40 Uhr

  • @selvin: ja, Integer wird sein null auch. Wie die Antwort sagt: alle Referenztypen werden null. int der jedoch ein primitiver Typ und somit kein Referenztyp ist, wird es sein 0.

    – Joachim Sauer

    22. März 2011 um 9:42 Uhr

Kommt darauf an. Ist es nur eine Variable (in einer Methode)? Oder ein Klassenmitglied?

Wenn es sich nur um eine Variable handelt, erhalten Sie eine Fehlermeldung, dass kein Wert festgelegt wurde, wenn Sie versuchen, daraus zu lesen, ohne ihr zuerst einen Wert zuzuweisen.

Wenn es sich um ein Klassenmitglied handelt, wird es von der VM auf null initialisiert.

Benutzer-Avatar
Carlo Caldas

Es gibt drei Arten von Variablen:

  • Instanzvariablen: werden immer initialisiert
  • Statische Variablen: werden immer initialisiert
  • Lokale Variablen: muss vor der Verwendung initialisiert werden

Die Standardwerte für Beispiel und statische Variablen sind gleich und abhängig vom Typ:

  • Objekttyp (String, Integer, Boolean und andere): initialisiert mit Null
  • Primitive Typen:
    • Byte, kurz, int, lang: 0
    • Float, doppelt: 0,0
    • boolesch: falsch
    • Zeichen: ‘\u0000’

Ein Array ist ein Objekt. Also eine Array-Instanzvariable, die deklariert, aber nicht explizit initialisiert wird Null Wert. Wenn Sie einen int[] array als Instanzvariable wird es den Nullwert haben.

Sobald das Array erstellt ist, wird allen seinen Elementen der Standardtypwert zugewiesen. Zum Beispiel:

private boolean[] list; // default value is null

private Boolean[] list; // default value is null

Einmal initialisiert:

private boolean[] list = new boolean[10]; // all ten elements are assigned to false

private Boolean[] list = new Boolean[10]; // all ten elements are assigned to null (default Object/Boolean value)

Benutzer-Avatar
Nikhil500

Die Antwort ist – es kommt darauf an.

Ist die Variable eine Instanzvariable/Klassenvariable? Sehen Dies für mehr Details.

Die Liste der Standardwerte kann gefunden werden hier.

Wenn ein Objekt initialisiert wird, ist sein Standardwert null, es sei denn, wir geben ausdrücklich einen Standardwert an.

1130420cookie-checkWas ist der standardmäßige Anfangswert eines Java-Strings?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy