Implementieren Sie Singleton mit Enum schnell in Java

In der Vergangenheit habe ich Initialize-On-Demand Holder verwendet, aber kürzlich habe ich einen knackigen Singleton mit Enum erstellt. Unten finden Sie ein Beispiel für eine String-Dienstprogrammklasse.

Implementierungsbeispiel

Erstellen Sie im Grunde eine Aufzählung, die auch das einzige Element enthält, "INSTANCE". Jetzt müssen Sie nur noch normal eine öffentliche Methode erstellen. Es ist einfach und leicht.

StringUtility.java


package jp.fumokmm;

import java.util.Objects;

public enum StringUtility {
	INSTANCE;

	/**
	 * <p>Schneidet die angegebene Zeichenfolge ab.
	 *Wenn die angegebene Zeichenfolge null ist, wird ein leeres Zeichen zurückgegeben.</p>
	 * @param str string zum trimmen
	 * @String nach dem Trimmen zurückgeben
	 */
	public String trim(String str) {
		return Objects.nonNull(str) ? str.trim() : "";
	}

	/**
	 * <p>Schneidet die angegebene Zeichenfolge ab (einschließlich Leerzeichen in voller Breite).
	 *Wenn die angegebene Zeichenfolge null ist, wird ein leeres Zeichen zurückgegeben.</p>
	 * @param str string zum trimmen
	 * @String nach dem Trimmen zurückgeben
	 */
	public String trimFull(String str) {
		if (Objects.isNull(str)) return "";
		int len = str.length();
		int st = 0;
		char[] val = str.toCharArray();
		while (st < len && (val[st] <= ' ' || val[st] == ' ')) {
			st++;
		}
		while (st < len && (val[len - 1] <= ' ' || val[len - 1] == ' ')) {
			len--;
		}
		return (st > 0 || len < str.length()) ? str.substring(st, len) : str;
	}

}

Anwendungsbeispiel

StringUtilityTest.java


package jp.fumokmm;

import static org.hamcrest.CoreMatchers.*;
import static org.junit.Assert.*;

import org.junit.Test;

public class StringUtilityTest {

	@Test
	public void testTrim() {
		StringUtility util = StringUtility.INSTANCE;
		assertThat(util.trim(null), is(""));
		assertThat(util.trim(" "), is(""));
		assertThat(util.trim(" a "), is("a"));
		assertThat("Der Raum in voller Breite wird nicht gekürzt", util.trim("  a  "), is("  a  "));
	}

	@Test
	public void testTrimFull() {
		StringUtility util = StringUtility.INSTANCE;
		assertThat(util.trimFull(null), is(""));
		assertThat(util.trimFull(" "), is(""));
		assertThat(util.trimFull(" a "), is("a"));
		assertThat("Der Raum in voller Breite wird ebenfalls beschnitten", util.trimFull("  a  "), is("a"));
	}

}

Übrigens im obigen Test

StringUtility util = StringUtility.INSTANCE;

Ich benutze es, nachdem ich es einmal einer Variablen zugewiesen habe

StringUtility.INSTANCE.trim(str);

Sie können es so verwenden, wie es ist. Bitte überprüfen Sie die Lesbarkeit und verwenden Sie es.

das ist alles.

Recommended Posts

Implementieren Sie Singleton mit Enum schnell in Java
3 Implementieren Sie einen einfachen Interpreter in Java
Implementieren Sie so etwas wie einen Stack in Java
Teilen Sie eine Zeichenfolge in Java mit ". (Dot)"
Ich möchte für jedes Array mit Lambda-Ausdruck in Java
GetInstance () aus einer @ Singleton-Klasse in Groovy aus Java
Lesen Sie eine Zeichenfolge in einer PDF-Datei mit Java
Erstellen Sie eine CSR mit erweiterten Informationen in Java
Von enum vor dem Schmied festgefahren
Ausgabe true mit if (a == 1 && a == 2 && a == 3) in Java (Invisible Identifier)
Warum mit Singleton anstelle einer statischen Methode implementieren?
Implementierung der zweistufigen Authentifizierung in Java
Implementieren Sie die Standardauthentifizierung in Java
Suchen Sie eine Teilmenge in Java
Implementieren Sie eine Kombination aus Mathematik in Java
Enum Strategiemuster in Java
2 Implementieren Sie eine einfache Syntaxanalyse in Java
Implementieren Sie das Senden von E-Mails in Java
Implementieren Sie eine funktionsähnliche schnelle Sortierung in Java
Reproduzieren Sie die Java-Enumeration in C #
Implementieren Sie rm -rf in Java.
Implementieren Sie die XML-Signatur in Java
Erstellen Sie einen SlackBot mit AWS Lambda & API Gateway in Java
Holen Sie sich ganz einfach Ganzzahlen aus den Systemeigenschaften in Java
Selbst in Java möchte ich true mit == 1 && a == 2 && a == 3 ausgeben
Holen Sie sich mit Java eine nicht leere Sammlung aus einem optionalen Stream
Erstellen Sie mit JAVA eine unveränderliche Klasse
Implementieren Sie einen tabellengesteuerten Test in Java 14
Ich habe eine E-Mail in Java gesendet
Erstellen eines Java-Projekts mit Gradle
Morphologische Analyse in Java mit Kuromoji
[Java EE] Implementieren Sie den Client mit WebSocket
[Java] Verzweigungsaufzählung mit switch-Anweisung
Ich habe ein PDF mit Java erstellt.
Erstellen Sie mit JavaScript eine leistungsstarke Aufzählung mit Feldern und Methoden wie Java
So implementieren Sie einen Job, der die Java-API in JobScheduler verwendet
Sortieren einer Liste mit einem Array vom Typ int als Element (Java) (Comparator)
Implementieren Sie reCAPTCHA v3 in Java / Spring
Implementieren Sie die PHP-Implodierungsfunktion in Java
Versuchen Sie einen If-Ausdruck in Java
[Java] So suchen Sie mit der Methode includes nach Werten in einem Array (oder einer Liste)
Implementieren Sie den gRPC-Client in Ruby
Ein einfaches Beispiel für Rückrufe in Java
Implementieren Sie ein Kontaktformular in Rails
Verwandeln Sie ein Array von Strings in eine Liste von Ganzzahlen in Java
[Java] Reduzieren Sie if-Anweisungen mit Enum
Ich habe eine Anmerkung in Java gemacht.
So formatieren Sie Enum mit dem Formatierer-Maven-Plugin (Java)
Java Calendar ist kein Singleton.
Versuchen Sie, Yuma in Java zu implementieren
Bleiben Sie in einem Java Primer stecken
1 Implementieren Sie eine einfache Phrasenanalyse in Java
Tweak Markdown mit Java Flexmark-Java
Führen Sie in Java8 geschriebene Anwendungen in Java6 aus
Führen Sie einen externen Prozess in Java aus
[Persönliches Memo] Interaktion mit dem Zufallszahlengenerator in Java
[Java] So drehen Sie ein zweidimensionales Array mit einer erweiterten for-Anweisung
Selbst in Java möchte ich true mit == 1 && a == 2 && a == 3 ausgeben (PowerMockito Edition)
Ich wollte eine Diashow mit Slick modisch umsetzen.
Ich habe eine Lambda-Funktion in Java geschrieben und mit SAM bereitgestellt