2013-10-29 24 views
8

Was ist der Unterschied zwischen null, 0 und nothing?Was ist der Unterschied zwischen null, 0 und nichts?

Ich kann keine Frage zu allen dreien finden.

Zum Beispiel:

Wenn ich eine Eingabe von einem string bin immer und es int Parsen.

return Integer.parseInt(sc.nextLine()); 

Oder wenn ich, wenn ein string != "" bin zu fragen, oder ein is not nothing Ich bin verwirrt darüber, welche, wenn sie zu verwenden und warum.

Ich bin verwirrt, welche man beim Validieren von Daten verwendet.

+0

Ich muss raus, aber ich schätze wirklich alle Antworten und Kommentare, ich denke, ich habe auch "Leere" durcheinander gebracht. und erhalten Methoden, Instanzvariablen, Daten zu validieren alle in einem Topf –

+0

bezogen http://stackoverflow.com/questions/2707322/what-is-null-in-java?lq=1 –

Antwort

11

null bedeutet, daß eine Variable, die einen Verweis auf einen Platz im Speicher enthält, das nicht den Fall ist ein Objekt enthalten

0 ist ein numerischer Datentyp mit einem Wert von 0.

Nothing nicht wirklich existiert, aber ich glaube, Sie "" sehen dies als ein leerer String sein kann, die einfach ein String Datentyp ist, das nicht der Fall ist enthält einen Wert.

Wenn Sie dies von einem Javascript Paradigma betrachten, kann es verwirrend sein. In Java sind Variablen nicht truthy und falsch daher wird der Typ in Vergleichen betrachtet.

+0

Ich komme gerade aus vb, Python und Web-Prog, das ist verwirrend. Ich schätze Ihr Verständnis davon. Sie sind total genau darin, mein Problem zu sehen. –

+0

@Skippy Froh, dass ich helfen konnte. –

+0

:) wie ich in den Kommentaren unter anderen Antworten gesehen habe, denke ich, dass das Problem von 'void' auch die Gewässer trübt .. es ist nur eine Frage des Umgangs mit den Grundlagen eines neuen syntats –

6

Es gibt kein "nichts" in Java. Es gibt eine null Referenz, was bedeutet, dass eine Variable auf kein Objekt verweist, also ist es eine Art nichts, aber es gibt nicht das Konzept undefined wie es in Javascript ist.

Bitte beachten Sie, dass ein String Vergleich soll mit equals, != oder == nicht, string.equals(otherString) so geschehen. Der Wert 0 ist der Standardwert, den int erhält, wenn er als Instanzvariable deklariert wird.

+0

"undefined" ist nicht nichts auch .. – user2864740

+0

@ user2864740 vorsichtig erklären? –

+0

@Skippy 'undefined' (in JS) ist so viel von etwas (oder" nichts ") wie' null' ist. Es ist ein Sentinel-Wert. Nun stellt "void" in Java nichts dar. Und es gibt keinen Wert, der es befriedigen kann. – user2864740

7

0 ist eine Zahl, können Sie es verwenden, wenn ein numerischer Wert (int, kurz gesagt, float, double, etc.) ist die Zahl 0

null ist der Wert eines Bezugs zu überprüfen, die nirgendwo Punkte, Sie verwenden es, um sicherzustellen, dass eine Referenz tatsächlich auf etwas verweist.

nothing ist nicht Teil von Java.

Die nächste Sache für nichts (für: keine Informationen) ist die void Deklaration einer Methode. Es besagt, dass die Methode buchstäblich nichts zurückgibt.

Beachten Sie, dass 0, null und die leere Zeichenfolge "" Werte sind und somit Informationen enthalten.

Zum Beispiel ist 0 die Antwort auf "Was ist 5 von 5 subtrahiert?" (unter anderen).

null ist die negative Antwort auf "Zeigt dieses Ding auf ein Objekt?".

"" "könnte die Antwort auf "Was ist die längste Sequenc von ‚X in Ihrem Namen?", Es sei denn, Ihr Name ist "Xanthippe".

+0

@ user2864740 Ich schätze, dass Sie void heraufbringen, da es hilft, etwas von der Verwirrung zu klären. –

+0

Ja, es erklärt, dass eine Methode (und nur Methoden können ungültig sein) wird nichts zurückgeben. Aber Sie können nicht überprüfen, ob ein Wert ungültig ist, daher befindet er sich in einer anderen Kategorie mit 0 und null, was Werte sind. – Ingo

+1

Meine Antwort wurde aktualisiert, um "void" einzuschließen. – Ingo

1

e.g. int s; //s=null int s = 0 ; //s=0 String s="";// s=nothing

+0

Int kann nicht NULL sein !!! NIE NIE NIE! NULL ist ein Objektwert, der darauf verweist, dass das Objekt keine Speicherbelegung hat! (Dieser Beitrag markiert mit Java) –

4

"Null" in Java, die Objektreferenz ist nicht auf ein Objekt zeigt, ist es null.

"Nothing", Java hat nichts "nichts" genannt

"0" bedeutet, dass.das String-Objekt vorhanden ist mit einem Wert von „0“

"" bedeutet einen leeren String, dh das String-Objekt mit dem Wert existiert „“

+0

ty sehr gut für jemanden verwirrt erklärt .. es hat sich geändert Sprachen –

4

"nichts" bedeutet nichts in Java. 0 bedeutet einen ganzzahligen Wert größer als -1 und kleiner als 1. "Null" bedeutet, wenn irgendeine Objektreferenz nirgendwo im Speicher zeigt, dann heißt sie "Null" -Referenz.

2

Der beste Ansatz zum Überprüfen von String-Objekten in Java ist org.apache.commons.lang.StringUtils.

Wenn Sie nicht verwenden möchten StringUtils, möchten Sie vielleicht prüfen, ob sc.nextList() nicht null ist (!= null) vor allem, wenn es nicht null ist, dann können Sie prüfen, ob unterscheidet sich von „“ (!= "").

2

Der Nullvariable ist kein Wert zugewiesen. Der Speicherbereich (der Variablen) ist leer oder enthält den Wert "marbage". Während eine Variable 0 ist, enthält die Variable den Wert '0'. Im Speicherbereich ist der Wert '0' gespeichert.

NULL bedeutet im Grunde, dass kein Wert oder unbekannter NULL-Wert entweder leer, bedeutungslos oder nicht initialisiert sein kann. Wenn wir beispielsweise sagen, der Mitarbeiterbonus ist null, bedeutet dies, dass die Person keinen oder keinen Bonus erhält. Wenn der Wert 0 ist, erhält der durchschnittliche Mitarbeiter einen Bonus, aber der aktuelle Bonus ist null.

+2

vielleicht zu fassen bekam sagen wir in der letzten Zeile, der Mitarbeiter bekommt einen Bonus von Wert 0. Ansonsten gut gesagt. Danke und willkommen zu Ihrem ersten Beitrag –

Verwandte Themen