Heim Java javaLernprogramm Vergleichsdetails zur Verwendung von Optional in Java8 und nullbaren Typen in Kotlin

Vergleichsdetails zur Verwendung von Optional in Java8 und nullbaren Typen in Kotlin

Sep 19, 2017 am 10:15 AM
java8 kotlin optional

Dieser Artikel stellt Ihnen hauptsächlich den Vergleich der Verwendung optionaler Typen in Java8 und nullbarer Typen in Kotlin vor. Der Artikel führt Sie ausführlich anhand von Beispielcode ein, der einen gewissen Referenzlernwert für das Studium oder die Arbeit jedes Einzelnen hat. Freunde, die es brauchen, folgen Sie bitte dem Herausgeber, um gemeinsam zu lernen.

Dieser Artikel stellt Ihnen hauptsächlich den relevanten Inhalt über die Verwendung optionaler Typen in Java8 und nullbarer Typen in Kotlin vor. Ich werde im Folgenden nicht viel sagen, werfen wir einen Blick darauf in der ausführlichen Einführung:

In Java 8 können wir den optionalen Typ verwenden, um nullfähige Typen auszudrücken.


package com.easy.kotlin;

import java.util.Optional;

import static java.lang.System.out;

/**
 * Optional.ofNullable - 允许传递为 null 参数
 * Optional.of - 如果传递的参数是 null,抛出异常 NullPointerException
 * Optional<String> b = Optional.of(s);
 */
public class Java8OptionalDemo {

 public static void main(String[] args) {
 out.println(strLength(Optional.of("abc")));
 out.println(strLength(Optional.ofNullable(null)));
 }

 static Integer strLength(Optional<String> s) {
 return s.orElse("").length();
 }
}
Nach dem Login kopieren

Ausgabe ausführen:


3
0
Nach dem Login kopieren

Ein solcher Code ist jedoch immer noch nicht so elegant.

In dieser Hinsicht bietet Groovy einen sicheren Eigenschafts-/Methodenzugriffsoperator?.


user?.getUsername()?.toUpperCase();
Nach dem Login kopieren

Swift hat auch eine ähnliche Syntax, die nur funktioniert der Typ Optional.

Nullable-Typen in Kotlin

Das obige Java 8-Beispiel ist einfacher und eleganter, wenn es in Kotlin geschrieben wird:


package com.easy.kotlin

fun main(args: Array<String>) {
 println(strLength(null))
 println(strLength("abc"))
}

fun strLength(s: String?): Int {
 return s?.length ?: 0
}
Nach dem Login kopieren

Unter Für sie verwenden wir String?, was auch die Bedeutung von Optional<String> ausdrückt. Welches ist im Vergleich einfacher?

Auf einen Blick klar.

Es gibt auch das orElse


s.orElse("").length();
Nach dem Login kopieren

, das von Java 8 optional bereitgestellt wird. Dieses Zeug ist der häufigste Elvis-Operator in Kotlin:


s?.length ?: 0
Nach dem Login kopieren

Welchen Grund gibt es im Vergleich dazu, das Optional von Java 8 weiterhin zu verwenden?

Sternsymbole in Kotlin


??????????????????????????????????????
?: ?: ?: ?: ?: ?: ?: ?: ?: ?: ?: ?: ?: ?: ?: ?: ?: ?: ?: ?: ?: ?: ?: ?: ?: ?: 
?. ?. ?. ?. ?. ?. ?. ?. ?. ?. ?. ?. ?. ?. ?. ?. ?. ?. ?. ?. ?. ?. ?. ?. ?. ?. ?. ?. ?. ?.
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonVergleichsdetails zur Verwendung von Optional in Java8 und nullbaren Typen in Kotlin. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Einige Tipps zum Entwickeln von Android-Anwendungen mit Vue.js und der Kotlin-Sprache Einige Tipps zum Entwickeln von Android-Anwendungen mit Vue.js und der Kotlin-Sprache Jul 31, 2023 pm 02:17 PM

Einige Tipps für die Entwicklung von Android-Anwendungen mit Vue.js und der Kotlin-Sprache. Mit der Beliebtheit mobiler Anwendungen und dem kontinuierlichen Wachstum der Benutzeranforderungen hat die Entwicklung von Android-Anwendungen bei Entwicklern immer mehr Aufmerksamkeit auf sich gezogen. Bei der Entwicklung von Android-Apps ist die Wahl des richtigen Technologie-Stacks entscheidend. In den letzten Jahren haben sich die Sprachen Vue.js und Kotlin nach und nach zu einer beliebten Wahl für die Entwicklung von Android-Anwendungen entwickelt. In diesem Artikel werden einige Techniken zum Entwickeln von Android-Anwendungen mit Vue.js und der Kotlin-Sprache vorgestellt und entsprechende Codebeispiele gegeben. 1. Richten Sie zu Beginn die Entwicklungsumgebung ein

Wie berechnet man das Datum vor einem Jahr oder einem Jahr später in Java 8? Wie berechnet man das Datum vor einem Jahr oder einem Jahr später in Java 8? Apr 26, 2023 am 09:22 AM

Java8 berechnet das Datum vor einem Jahr oder ein Jahr später mithilfe der minus()-Methode, um das Datum vor einem Jahr zu berechnen packagecom.shxt.demo02;importjava.time.LocalDate;importjava.time.temporal.ChronoUnit;publicclassDemo09{publicstaticvoidmain(String[ ]args ){LocalDatetoday=LocalDate.now();LocalDate previousYear=today.minus(1,ChronoUni

So installieren Sie die Programmiersprache Kotlin 12 unter Debian So installieren Sie die Programmiersprache Kotlin 12 unter Debian Feb 20, 2024 am 09:42 AM

Kotlin ist eine statisch typisierte Programmiersprache, die im Bereich der Softwareentwicklung große Aufmerksamkeit erregt hat. Seine prägnante und leicht verständliche Syntax, gute Kompatibilität mit Java und umfangreiche Tool-Unterstützung bieten Entwicklern viele Vorteile, weshalb viele Entwickler Kotlin als ihre bevorzugte Sprache wählen. Installieren Sie die Kotlin-Programmiersprache 12Bookworm unter Debian Schritt 1. Beginnen Sie mit der Aktualisierung vorhandener Systempakete. Öffnen Sie ein Terminal und geben Sie den folgenden Befehl ein: sudoaptupdatesudoaptupgrade Diese Befehle rufen eine Liste der verfügbaren Updates ab und aktualisieren aktuelle Pakete, um sicherzustellen, dass Ihr System auf dem neuesten Stand ist. Schritt 2. Installieren Sie Java. Kotlin in der Java Virtual Machine (J

Was ist der Unterschied zwischen Java-Funktionen und Kotlin-Sprachfunktionen? Was ist der Unterschied zwischen Java-Funktionen und Kotlin-Sprachfunktionen? Apr 24, 2024 am 08:24 AM

Der Unterschied zwischen Java- und Kotlin-Funktionen: Syntax: Java-Funktionen müssen Parametertypen und -namen angeben, während Kotlin den Typ weglassen und Lambda-Ausdrücke verwenden kann; Rückgabewert: Kotlin kann die weglassen Rückgabewert Typ, der Standardwert ist Unit; Erweiterungsfunktion: Kotlin kann neue Funktionen zu vorhandenen Klassen hinzufügen, während Java ähnliche Funktionen durch Vererbung implementieren muss. Instanzmethodenaufruf: Kotlin kann den Objektnamen weglassen und eine prägnantere Syntax verwenden.

So verwenden Sie Redis und Kotlin, um asynchrone Aufgabenwarteschlangenfunktionen zu entwickeln So verwenden Sie Redis und Kotlin, um asynchrone Aufgabenwarteschlangenfunktionen zu entwickeln Sep 21, 2023 am 10:58 AM

So verwenden Sie Redis und Kotlin zum Entwickeln asynchroner Aufgabenwarteschlangenfunktionen. Einführung: Mit der Entwicklung des Internets ist die Verarbeitung asynchroner Aufgaben immer wichtiger geworden. Während des Entwicklungsprozesses stoßen wir häufig auf zeitaufwändige Aufgaben, z. B. das Versenden von E-Mails, die Verarbeitung großer Datenmengen usw. Um die Leistung und Skalierbarkeit des Systems zu verbessern, können wir zur Verarbeitung dieser Aufgaben asynchrone Aufgabenwarteschlangen verwenden. In diesem Artikel wird erläutert, wie Sie mit Redis und Kotlin eine einfache asynchrone Aufgabenwarteschlange entwickeln, und es werden spezifische Codebeispiele bereitgestellt. 1. Was ist eine asynchrone Aufgabe?

Wie berechnet man das Datum eine Woche später mit Java 8? Wie berechnet man das Datum eine Woche später mit Java 8? Apr 21, 2023 pm 11:01 PM

So berechnen Sie das Datum eine Woche später in Java8. In diesem Beispiel wird das Datum eine Woche später berechnet. Das LocalDate-Datum enthält keine Zeitinformationen. Seine plus()-Methode wird zum Hinzufügen von Tagen, Wochen und Monaten verwendet. Die ChronoUnit-Klasse deklariert diese Zeiteinheiten. Da LocalDate ebenfalls ein unveränderlicher Typ ist, müssen Sie Variablen verwenden, um nach der Rückgabe Werte zuzuweisen. packagecom.shxt.demo02;importjava.time.LocalDate;importjava.time.temporal.ChronoUnit;publicclassDemo08{publicstaticvoidmain(String[

Was sind die häufig verwendeten optionalen Methoden in Java? Was sind die häufig verwendeten optionalen Methoden in Java? May 09, 2023 am 11:34 AM

Vorwort Optional ist in Java ein Containerobjekt, das einen Wert ungleich Null enthalten oder leer sein kann. Sein Hauptzweck besteht darin, Nullzeigerausnahmen beim Schreiben von Code zu vermeiden. Die vollständige Verwendung von Optional in Java8 ist wie folgt: 1. Erstellen Sie ein optionales Objekt. Sie können ein optionales Objekt mit einem Nicht-Null-Wert über die of()-Methode erstellen, zum Beispiel: Optionaloptional=Optional.of("value"). ; Es kann auch über die ofNullable()-Methode erstellt werden. Ein optionales Objekt, das möglicherweise einen Nullwert enthält, zum Beispiel: Optionaloptional=Optiona

So entwickeln Sie verteilte Warteschlangenfunktionen mit Redis und Kotlin So entwickeln Sie verteilte Warteschlangenfunktionen mit Redis und Kotlin Sep 20, 2023 am 10:09 AM

So verwenden Sie Redis und Kotlin zur Entwicklung verteilter Warteschlangenfunktionen Einführung: Mit der rasanten Entwicklung des Internets haben verteilte Systeme immer mehr Aufmerksamkeit auf sich gezogen. Die verteilte Warteschlange ist eine der wichtigen Komponenten eines verteilten Systems, das eine asynchrone Verarbeitung und Entkopplung von Nachrichten realisieren kann. In diesem Artikel wird erläutert, wie Sie mit Redis und Kotlin eine einfache verteilte Warteschlange entwickeln, und es werden spezifische Codebeispiele bereitgestellt. 1. Übersicht Verteilte Warteschlangen können Nachrichten veröffentlichen und konsumieren und sicherstellen, dass Nachrichten nicht verloren gehen. In einem verteilten System die Veröffentlichung und der Konsum von Nachrichten

See all articles