[JAVA] Was für ein StringUtil ist gut?

Ich möchte eine Methode, die damit alles anfangen kann

nicht wollen?

Was ist gut?

Ich kann nicht helfen, wenn der Typ anders ist Sie können sicher mit allem umgehen, was mit String zu tun hat Zwecks

Ich werde es vorerst versuchen

StringUtils.java


package utils;

import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
import java.util.Arrays;
import java.util.HashMap;

/**
 *String ist eine Klasse
 * 
 * @author Mr.Extreme Vielseitigkeit
 *
 */
public class StringUtils {

	/**Mehrere Zeichenfolgenargumente*/
	private static final List<String> MULTIPLE_STRING = Arrays.asList("a", null, "b", "", "3");

	/**
	 *Experimental-
	 * 
	 * @param args
	 */
	public static void main(String[] args) {
		System.out.println(extraction(MULTIPLE_STRING));
	}

	/**
	 * {@code null}Zu leeren.<br>
	 * {@code null}Wie es nicht ist.
	 * 
	 * @param str Zeichenkette eingeben
	 * @Konvertierungsergebnis zurückgeben
	 */
	private static String nullToBlank(String str) {
		return Objects.toString(str, "");
	}

	/**
	 * {@code null}Zu leeren.<br>
	 * {@code null}Wie es nicht ist.
	 * <p>
	 *Das Argument selbst{@code null}Oder wenn die Anzahl der Elemente 0 ist,Gibt eine leere Liste zurück.
	 * 
	 * @Param Listeneingabe{@code List<String>}
	 * @Konvertierungsergebnis zurückgeben
	 */
	private static List<String> nullToBlank(List<String> list) {
		if (list != null)
			return list.stream().map(StringUtils::nullToBlank).collect(Collectors.toList());
		return Arrays.asList();
	}

	/**
	 *Trat ein{@code List<String>}Im<br>
	 * {@code null}Und eliminiere leere Zeichen
	 * 
	 * @Param Listeneingabe{@code List<String>}
	 * @Konvertierungsergebnis zurückgeben
	 */
	private static List<String> nullBlankSmasher(List<String> list) {
		return nullToBlank(list).stream().filter(v -> !v.isEmpty()).collect(Collectors.toList());
	}

	/**
	 * {@code Map<String, Integer>}Gegen
	 * <p>
	 * <ul>
	 * <li>Wenn die eingegebene Zeichenfolge in einen numerischen Wert konvertiert werden kann<br>
	 * {Leerer Charakter,Zahlenwert nach Konvertierung}Gib es zurück<br>
	 * <li>Wenn die eingegebene Zeichenfolge nicht in einen numerischen Wert konvertiert werden kann<br>
	 * {Zeichenfolge vor der Konvertierung, {@code null}}Gib es zurück
	 * </ul>
	 * 
	 * @param map Karte zur Speicherung
	 * @param str Zu konvertierende Zeichenfolge
	 */
	private static void store(Map<String, Integer> map, String str) {
		try {
			map.put("", Integer.parseInt(str));
		} catch (NumberFormatException e) {
			map.put(str, null);
		}
	}

	/**
	 *Konvertieren Sie das, was numerisch konvertiert werden kann, und sortieren Sie das, was nicht ist, unverändert.
	 * <p>
	 * <ul>
	 * <li>Wenn die eingegebene Zeichenfolge in einen numerischen Wert konvertiert werden kann<br>
	 * {Leerer Charakter,Zahlenwert nach Konvertierung}Gib es zurück<br>
	 * <li>Wenn die eingegebene Zeichenfolge nicht in einen numerischen Wert konvertiert werden kann<br>
	 * {Zeichenfolge vor der Konvertierung, {@code null}}Gib es zurück
	 * </ul>
	 * 
	 * @Param Listeneingabe{@code List<String>}
	 * @Rückgabe Sortierergebnis
	 */
	private static Map<String, Integer> toInteger(List<String> list) {
		Map<String, Integer> map = new HashMap<String, Integer>();
		nullBlankSmasher(list).forEach(v -> {
			store(map, v);
		});
		return map;
	}

	/**
	 *Führen Sie die folgenden Vorgänge für die Liste der eingegebenen Zeichenfolgen aus
	 * <p>
	 * <ul>
	 * <li>{@code null}Und leere Buchstaben entfernen
	 * <li>Konvertieren Sie eine Zeichenfolge, die in einen numerischen Wert konvertiert werden kann, in einen numerischen Wert
	 * <li>Mit einer Liste von Zeichenfolgen, die nicht konvertiert werden konnten,Gibt nach der Konvertierung eine Karte der Liste der Zahlen zurück
	 * </ul>
	 * 
	 * @Param Listeneingabe{@code List<String>}
	 * @Rückgabe Sortierergebnis
	 */
	private static Map<List<String>, List<Integer>> extraction(List<String> list) {
		Map<List<String>, List<Integer>> map = new HashMap<List<String>, List<Integer>>();
		map.put(toInteger(list).keySet().stream().filter(v -> !v.isEmpty()).collect(Collectors.toList()),
				toInteger(list).values().stream().filter(Objects::nonNull).collect(Collectors.toList()));
		return map;
	}

}

was ist das

ich habe es gemacht

Eingabewert: Liste Ausgabewert: Map <List , List > wird bearbeitet: Wenn ein Element in der Liste der eingegebenen Zeichenfolgen in einen numerischen Wert konvertiert werden kann, wird es in einen numerischen Wert konvertiert. Lassen Sie, was nicht konvertiert werden kann Trennen Sie sich in eine Liste von Zeichenfolgen und eine Liste von Zahlen und speichern Sie diese in der Karte

Was mir bewusst war

Entspricht dem Eingabewert Null und die Anzahl der Elemente 0 Machen Sie nicht alles auf einmal, sondern machen Sie es für jedes Teil separat Ermöglicht die Handhabung, wenn Sie nur ein Teil verwenden möchten

Schlechter Platz

Ich möchte es mit Objekttyp und Optional zu einem allgemeineren Fenster machen

Nun, es ist schwierig ...

Ich möchte eine universelle Droge

Recommended Posts

Was für ein StringUtil ist gut?
Was für eine Methode ist define_method?
'% 02d' Was ist der% von% 2?
Was ist es? ~ 3 Arten von "Nein" ~
Road to Java Engineer Part2 Was für eine Sprache ist Java?
Was ist ein Test? ・ Über die Wichtigkeit eines Tests
Wie ist die Datenstruktur von ActionText?
Was ist Cubby?
Was ist null? ]]
Was ist Schlüsselumhang?
Was ist Maven?
Was ist Jackson?
Was ist Selbst
Was ist Jenkins?
Was ist ArgumentMatcher?
Was ist IM-Jonglieren?
Was ist params
Was ist SLF4J?
Was ist Fassade? ??
Was ist Java <>?
Was ist Gradle?
Was ist POJO?
Was ist java
Was ist centOS?
Was ist RubyGem?
Was ist before_action?
Was ist Docker?
Was ist Byte?
Was ist Tomcat?
Was ist JSP? ~ Lassen Sie uns die Grundlagen von JSP kennen !! ~
Was ist Maven Assembly?
Überprüfen Sie, ob has_many vorhanden ist und zu optional gehört: Was ist wahr?
Was ist Docker-Compose?
Was ist ein Konstruktor?
Was ist vue cli
Was ist eine Schnittstelle?
Der Vergleich von enum ist == und gleich ist gut [Java]
Was ist Rubys Selbst?
Was ist harte Codierung?
Was ist ein Stream?
Was ist Rubys attr_accessor?
Was ist Java-Kapselung?
Was ist die Erlaubnis verweigert?
Was ist Instanzsteuerung?
Was ist ein Initialisierer?
Was ist Spring Tools 4?
Was ist ein Operator?
Was ist Objektorientierung?
Was ist Guavas @VisibleForTesting?
Was ist ein MVC-Modell?
Was ist eine Anmerkung?
Was ist Java-Technologie?
Was ist Java API-Java?
Was ist @ (Instanzvariable)?
Was ist Gradles Artefakt?
Was ist JPA-Prüfung?
[Java] Was ist flatMap?