[JAVA] Verhindern Sie unnötige Nullprüfungen !: Methoden mit doppelten Argumenten

Überblick

Wenn ich beim Testen mit JUnit in meinem Unternehmen daran arbeite, unnötige Quellen zu entfernen Mir ist aufgefallen, dass es einige Nullprüfungen gibt, die ich nicht benötige. Dies ist also ein Memo.

Ich suche nach null, obwohl es nicht null sein kann

Zum Beispiel diese Methode.

private static double doubleMethod(double value){

		String stringValue = String.valueOf(value);

		if(stringValue == null){
			return 0;
		}
		return value;

	}

Es ist eine Quelle, die anscheinend gedacht hat: "Wenn es sich um einen String-Typ handelt, kann null kommen, also lasst uns nach null suchen!" Ich merke es zuerst nicht, ich setze null in das Argument der Methode und versuche es mit AssertEquals zu testen. .. .. Bei einem Kompilierungsfehler.

Oh, das Argument war doppelter Typ ...

Da der Doppeltyp eine Variable vom Typ "primitiver Typ" ist, darf er keine Null enthalten, was bedeutet, dass "nichts vorhanden ist, anstatt auf das Objekt zu verweisen". Also hat alles, was in doppelter Ausführung kommt, einen Wert. Die Konvertierung in einen Referenztyp wie den String-Typ erfordert daher keine Nullprüfung.

Übrigens, wenn Sie wirklich angeben möchten, dass der Doppeltyp keinen Wert enthält, verwenden Sie java.lang.Double.NaN. Ich glaube nicht, dass es viele Situationen gibt, in denen es verwendet wird ...

Recommended Posts

Verhindern Sie unnötige Nullprüfungen !: Methoden mit doppelten Argumenten
[ruby] Eine Methode mit einem Argument aufrufen