Frage zu String null-Wert

Status
Nicht offen für weitere Antworten.

Mane123

Bekanntes Mitglied
Hallo zusammen,

ich habe folgendes Listing:

Java:
class uberdeckt {
	
	//die Instanzvariable
	
	String zKette;
	
	void zKetteAendern (String zKette) {
		zKette = zKette + "geandert";
	}
	
	String getzkette () {
		return zKette;
	}
}

public class ueberdeckte_Instanzvariable {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		//eine Instanz von uberdeckt erzeugen
		
		uberdeckt test = new uberdeckt ();
		
		test.zKetteAendern("Test");
		System.out.println ("Der geänderte Wert ist" + test.getzkette() );
		
		
		if (test.getzkette().isEmpty())
			System.out.println ("Die Zeichenkette ist leer");
		else 
			System.out.println ("Die Zeichenkette ist nicht leer");
		
		
		
	}

}

Wenn ich es ausführe komme es zu einer Fehlermeldung. Ich möchte mir mit diesem Listing die Überdeckung von Instanzvariablen durch lokale Variablen genauer ansehen.
In der if-Verzweigung kommt es zu einer Fehlermeldung, weil ja die Instanzvariable zKette durch die lokale Variable überdeckt wird und dadurch die Instanzvariable "null" zurückliefert.

Meine Frage:

Ich weiß zwar, dass es durch einen "null" Wert zu einer "java.lang.NullPointerException
" kommt. Aber ich weiß nicht, warum dies so ist?

Warum liefert zum Beispiel "if (test.getzkette().isEmpty())" nicht true? Was ist denn genau der Wert "null"?

Viele Grüße
 
G

Gastredner

Gast
null kann man als nicht existent ansehen.
Objektvariablen, die zwar deklariert, nicht aber initialisiert worden sind, sind erst einmal null.
Daher ist null auch nicht mit isEmpty() abzufragen - die Variable, deren Methode aufgerufen werden soll, ist null, was in der NPE resultiert.

Testen auf null kannst du einfach mit dem Vergleichsoperator (und hier mit der Negation !):
Java:
if (!zKette == null) { /* fortfahren... */ } else {System.err.println("zKette ist null!");}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Frage zur Methode split der Klasse String Java Basics - Anfänger-Themen 32
I String.split regex Frage Java Basics - Anfänger-Themen 2
B Frage zu: String... strings -> Ungleiche Anzahl an Parameter? Java Basics - Anfänger-Themen 4
J Frage zu: public static void main (String[]args) Java Basics - Anfänger-Themen 1
B ja ja schon wieder einer mit einer public static void main(string[] args) Frage... Java Basics - Anfänger-Themen 8
Ö Frage zu String index out of range: -1 Java Basics - Anfänger-Themen 12
M kurze frage: Ohne index.of position von string angeben Java Basics - Anfänger-Themen 16
F String args[] Frage... Java Basics - Anfänger-Themen 5
M string arraylist untersuchen frage Java Basics - Anfänger-Themen 6
M Frage zur Methode Action.putValue(String,Object) Java Basics - Anfänger-Themen 5
S Frage zu String Java Basics - Anfänger-Themen 2
M Factory mit String / Frage zu Generics Java Basics - Anfänger-Themen 2
M Eine kleine Frage bzw kleine Theorie frage String[arg] Java Basics - Anfänger-Themen 6
M Frage bezüglich string compare Java Basics - Anfänger-Themen 6
G Frage:Welche Methodne kann man eine Zahl bzw. ein String Java Basics - Anfänger-Themen 3
semaJ Frage bezüglich String Operation ! Java Basics - Anfänger-Themen 3
R Frage zur Länge von Textfeld und String Java Basics - Anfänger-Themen 4
E Frage zum String Java Basics - Anfänger-Themen 51
G doofe frage^^ int -> string wandeln Java Basics - Anfänger-Themen 3
O eine frage/problem zu string.split() Java Basics - Anfänger-Themen 2
A frage zu (string lenght) Java Basics - Anfänger-Themen 6
C Frage zu: String einlesen -> Array von Chars erhalten Java Basics - Anfänger-Themen 4
G Frage zu Umwandlung char[] in string[] bzw. Schleifen Java Basics - Anfänger-Themen 9
S Dumme Frage... String in Float umwandeln Java Basics - Anfänger-Themen 10
S Frage zu String.indexOf(String) Java Basics - Anfänger-Themen 22
Zrebna Frage zu Test-Driven Development (TDD) Java Basics - Anfänger-Themen 3
I Frage Thymeleaf -> Fehler ignorieren und mit "" ersetzen? Java Basics - Anfänger-Themen 15
I Frage Thymeleaf -> Prefix / Suffix ändern? Java Basics - Anfänger-Themen 11
D Rekursions Probleme / frage Java Basics - Anfänger-Themen 4
T Frage zu Parse Java Basics - Anfänger-Themen 2
H Frage an die Profis Java Basics - Anfänger-Themen 4
J Eine konzeptionelle Frage zu OOP Java Basics - Anfänger-Themen 3
P Frage zu Rekursion und Backtracking Java Basics - Anfänger-Themen 2
H Frage zur Ausgabe Java Basics - Anfänger-Themen 4
H Frage zu arithmetischen Operationen Java Basics - Anfänger-Themen 20
F Kurze Frage zu replace() Java Basics - Anfänger-Themen 19
JavaSchmecktLecker Polymorphie Frage zur Methodenüberschreibung Java Basics - Anfänger-Themen 21
J Frage zu einem "Taschenrechner" code Java Basics - Anfänger-Themen 9
B Erste Schritte Frage zu Instanzierung und Referenzen Java Basics - Anfänger-Themen 8
DoubleM Runtime.getRuntime().exec Frage Java Basics - Anfänger-Themen 2
J Eine theoretische Frage zur Praxis - JPanel oder Canvas Java Basics - Anfänger-Themen 5
O Frage: Formaler Typbezeichner? Java Basics - Anfänger-Themen 3
I BlueJ Queue Frage für Klausur Java Basics - Anfänger-Themen 2
N Verständnis Frage zu Variablen Java Basics - Anfänger-Themen 3
N Spezielle frage zum Comparator Java Basics - Anfänger-Themen 6
L Frage zum Array Java Basics - Anfänger-Themen 1
A Frage zum UML Design Java Basics - Anfänger-Themen 1
I Hilfe bei Klausur Frage Java Basics - Anfänger-Themen 8
izoards Drucken Frage zu FAQ Beitrag Java Basics - Anfänger-Themen 2
J Frage zu meinem Code (OOP) Java Basics - Anfänger-Themen 4
sserio Split() -> Regex Frage. Java Basics - Anfänger-Themen 7
A OCA Study Guide: 2. Frage aus Kapitel 3 Java Basics - Anfänger-Themen 9
sserio Date Library Frage Java Basics - Anfänger-Themen 9
Max246Sch Frage zu Währungsrechner Code Java Basics - Anfänger-Themen 2
sserio Frage zu HashMaps Java Basics - Anfänger-Themen 20
sserio Frage zu Threading - Multithreading Java Basics - Anfänger-Themen 2
sserio Frage zu Lambda Ausdrücken Java Basics - Anfänger-Themen 7
sserio Frage zu BigInteger Java Basics - Anfänger-Themen 1
D Frage bzgl. Enum-Handhabung Java Basics - Anfänger-Themen 16
xxx12 Frage Java Basics - Anfänger-Themen 2
I Generelle Frage zu Mikroservices (Spring Boot?), Docker... Java Basics - Anfänger-Themen 7
R Frage zu Methoden (Rückgabewert u. ohne.) Java Basics - Anfänger-Themen 2
A Frage zur programmierung Java Basics - Anfänger-Themen 12
R Input/Output Frage zu Java IO Java Basics - Anfänger-Themen 6
M Frage zu printWriter Java Basics - Anfänger-Themen 5
C Frage zu OLSMultipleLinearRegression Java Basics - Anfänger-Themen 31
KogoroMori21 Frage zum Euklidischen Algorithmus Java Basics - Anfänger-Themen 11
S Verständnis-Frage zu einer HÜ? Java Basics - Anfänger-Themen 1
F Frage betreff Programm mit dem man C++-Code in JAVA-Code übersetzen lassen kann Java Basics - Anfänger-Themen 2
L Frage zur Ticket Maschine Java Basics - Anfänger-Themen 1
J Frage zu OOP-Klassendiagramm Java Basics - Anfänger-Themen 8
OSchriever Frage zu Compiler Java Basics - Anfänger-Themen 8
H Frage zu Throw Exception Java Basics - Anfänger-Themen 2
TimoN11 Frage zu Java-Vererbung (Cast) Java Basics - Anfänger-Themen 5
Bademeister007 Hallo Leute ich hab eine Frage zur ArrayList Java Basics - Anfänger-Themen 8
F Frage betreff Programmierbücher zu Lagerverwaltung als Konsolenprogramm Java Basics - Anfänger-Themen 3
dieter000 Kurze Frage kann mir ejmand kurz diesen Code erklären, bzw wie man die zeilen erklärt und so Java Basics - Anfänger-Themen 1
N Best Practice Frage zum MVC-Pattern Java Basics - Anfänger-Themen 2
dieter000 Frage zu einem Beispiel... Java Basics - Anfänger-Themen 5
J Frage zum Loggen Java Basics - Anfänger-Themen 18
J Methoden Frage: Array-Werte in anderer Methode ändern Java Basics - Anfänger-Themen 4
Zrebna Frage zum "Referenzen-konzept" in Java Java Basics - Anfänger-Themen 8
JD_1998 Array-Position aus einer Methode in einer anderen ausgeben (Kurze Frage) Java Basics - Anfänger-Themen 2
marcooooo Frage zu bestimmten Beispiel Java Basics - Anfänger-Themen 31
NeoLexx equals()-Methode Verständnis Frage anhand Code Beispiel Java Basics - Anfänger-Themen 22
N Input/Output Eine Frage über system.out.println. Java Basics - Anfänger-Themen 10
B Erste Schritte Learning Coding (!) Frage an erfahrene Programmierer. Java Basics - Anfänger-Themen 23
M konzeptuelle Frage: In welcher Klasse definiert man am Besten Methoden, die die Kommunikation mit dem User regeln? Java Basics - Anfänger-Themen 8
B Frage zum Code verständnis im Resultat Java Basics - Anfänger-Themen 10
C Exception-Frage Java Basics - Anfänger-Themen 3
J Eine Frage zur Schreibweise == ? : Java Basics - Anfänger-Themen 3
S Frage des Designs Java Basics - Anfänger-Themen 1
JavaTalksToMe Extends/Implements Frage Java Basics - Anfänger-Themen 3
pkm Frage zu Servletfunktion Java Basics - Anfänger-Themen 0
B Frage zur Währungsumrechnung Java Basics - Anfänger-Themen 3
S Allgemeine Frage über Generics und Vererbungen Java Basics - Anfänger-Themen 5
Kirby.exe Frage zur Verwendung von Interfaces Java Basics - Anfänger-Themen 6
D Frage zu Strings einer Exception Java Basics - Anfänger-Themen 4
L Wie frage ich ab, ob in einem Array, Werte doppelt vorkommen? Java Basics - Anfänger-Themen 4
D Frage zur IDE IntelliJ IDEA Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben