[JAVA] Über Optional

Was ist optional?

Derjenige, der null haben kann. das ist alles.

Im Detail

Es gibt keine beängstigende Krankheit über das, was als Modell oder Objekt bezeichnet wird. Wenn es also eine Entitätsklasse namens KWSK gibt Sie können mit null umgehen, indem Sie es als optionales festlegen.

Konkretes Beispiel

Optional.java


package optional;

import java.util.ArrayList;
import java.util.List;
import java.util.Optional;

public class Practice {

	public static void main(String[] args) {
		//Initialisierung von Optional
		Optional<String> empty = Optional.empty();
		// Optional<String>Zu String(Nehmen Sie den Inhalt heraus)
		String str = empty.get();
		//Stellen Sie sicher, dass es einen Wert hat, nicht null
		empty.isPresent(); // false

		System.out.println(run("a"));
		System.out.println(run2("a"));
	}

	/**
	 *Gibt ein Argument zurück<br>
	 *Gibt ein leeres Zeichen zurück, wenn das Argument null ist
	 * 
	 * @param str
	 * @return
	 */
	private static String run(String str) {
		return Optional.ofNullable(str).orElse("");
	}

	/**
	 *Gibt ein Argument zurück<br>
	 *NoSuchElementException tritt auf, wenn das Argument null ist(get()Weil die Methode nicht durchgeführt werden kann)
	 * 
	 * @param str
	 * @return
	 */
	private static String run2(String str) {
		return Optional.of(str).get();
	}

	/**
	 *Sie können auch filter- und mapähnliche Streams verwenden
	 *Sie können auch Stream verwenden
	 * 
	 * @param str
	 */
	private static void run3(String str) {
		Optional.ofNullable(str).filter(v -> v.length() == 1).isPresent();
		Optional.ofNullable(str).map(v -> v + "2").isPresent();

		List<Optional<String>> list = new ArrayList<Optional<String>>();
		list.add(Optional.of("a"));
		list.add(Optional.of("b"));
		list.add(Optional.of("c"));
		list.add(Optional.empty());

		list.stream().filter(Optional::isPresent).map(Optional::get).forEach(System.out::println);
	}

}

ist.

Was ist also praktisch?

Ich habe es im Code zusammengestellt Was ich meine, ist ein Null-Experte

Wenn Sie sich bei einem Modell fragen, was Sie mit null tun sollen, denken Sie vorerst nur an Optional

Optional.ofNullable(Derjenige, der null beurteilen will).orElse("");

In der get () -Methode wird beim Wiederherstellen vom optionalen Typ NoSuchElementexception angezeigt, wenn Sie nicht vorsichtig sind. Sie können die gruselige Grunderkrankung überwinden, wenn Sie es gründlich tun!

Die bedingte Verzweigung im Booleschen Wert der Methode "isPresent" ist praktisch, um bald null im Stream zu erhalten. Es ist einfach, es an ein null beängstigendes System wie findFirst anzuhängen

Objects::nonNull

Oder

Objects::toString

Aber es scheint, dass es gehandhabt werden kann, aber der Objekttyp scheint ein letzter Ausweg zu sein. Ich kenne den detaillierten Grund nicht, warum Optional besser ist. Es fühlt sich an, als müsstest du das nicht tun.

Optionale offizielle Referenz Offizielle Referenz zu Objekten

Recommended Posts

Über Optional
Über =
Über method.invoke
Über Kotlin
Über attr_accessor
Über Hinemos
Über die Vererbung
Über Docker
Über Schienen 6
Über den Frühling ③
Über Aufzählung
Über Polymorphismus
Über Hash
Über JitPack
Darüber ()
Über die Kapselung
Über JAVA_HOME
Über statische
Über Ausnahmen
Denken Sie an die 7 Regeln von Optional
Über den Umfang
[Maven] Über Maven
Informationen zur Ausnahmebehandlung
Über die Java-Schnittstelle
[Java] Informationen zu Java 12-Funktionen
Informationen zum Rails-Routing
Über zyklische Komplexität
Informationen zu AsyncTask-Generika
Über Ruby-Symbole
Informationen zur Array-Multiplikation
[Java] Über Arrays
Java Optionaler Typ
Informationen zur Klassenvererbung.
Über Spring AOP
Über Ruby Hash
Über singuläre Methoden
Informationen zum Erstellen von Tools
Java 8 studieren (optional)
Kauen Sie über API
[Über Double Hash]
Etwas über Java
Wo ist mit Java?
Über die Methode von HttpServlet ()
Informationen zu Java-Funktionen
Informationen zu SIGNING_REGION: NoSuchFieldError