[Java-Anfänger] Ich habe ein etwas tieferes Verständnis von "Es ist Zeit, neue zu verwenden", also machen Sie sich eine Notiz

Beim Lesen der Java-Quelle User user = new User(); Jeder kann die Beschreibung sehen. Ja, Instanziierung.

Ich habe das an sich verstanden, aber als ich das Programm tatsächlich berührte, war ich durch die folgende Beschreibung verwirrt.

check.java



public boolean userExists(String userId) {

	//Benutzertypvariable verwenden
	User user = select.selectOne(userId);

	if (user == null) {
		return false;
	}

	return true;
}

Es wurde plötzlich als "Benutzer Benutzer" ohne neu beschrieben. Für mich, der vage dachte: "Wenn ich eine andere Klasse benutze, bin ich neu", verstehe ich nicht warum.

Aber das war einfach mein Missverständnis.

Betrachten Sie den Inhalt der obigen Methode select.selectOne (userId);

select.java


public User selectOne(String userId) {
	
	//Holen Sie sich 1 Daten
	Map<String, Object> map = jdbc.queryForMap("SELECT * FROM m_user "
		+ "WHERE user_id = ?"
		, userId);

	//Variablen für die Rückgabe von Ergebnissen
	User user = new User();

	//Stellen Sie die erfassten Daten auf Benutzer ein
	user.setUserId((String) map.get("user_id"));		//Benutzeridentifikation
	user.setUserName((String) map.get("user_name"));	//Nutzername

	//Benutzerinstanz zurückgeben
	return user;
}

Es ist geworden. Ja, es führt fest "User user = new User ();" und new aus und gibt diese Benutzerinstanz als Rückgabewert zurück. Mit anderen Worten, da die Benutzerinstanz bereits erstellt wurde, musste in der ersten check.java-Klasse keine neue erstellt werden.

Wenn Sie mich fragen, würde ich nicht wissen, ob ich jedes Mal eine neue Instanz erstellt habe. ..

Aus diesem Grund habe ich den Satz "Das Timing für Neues ist (nur), wenn Sie es verwenden" etwas tiefer verstanden. vielleicht.

Erstellen Sie im Befehlsmuster im Voraus einen Befehl und führen Sie den erstellten Befehl bei Bedarf aus. Genau wie das vorherige Installieren (Vorbereiten) von Befehlen unter Linux usw. und das Ausführen der Befehle bei Bedarf.

Vielen Dank für den Hinweis. Java ist immer noch tief, nicht wahr? Ich hatte noch nie von dem Befehlsmuster gehört, also habe ich es nachgeschlagen, aber ich konnte es nicht herausfinden, indem ich es mir ansah. Ich werde in Zukunft Designmuster studieren. Vielen Dank für Ihre gute Gelegenheit.

Recommended Posts

[Java-Anfänger] Ich habe ein etwas tieferes Verständnis von "Es ist Zeit, neue zu verwenden", also machen Sie sich eine Notiz
[JAVA] Projekt Euler, ich steckte im achten Quartal fest
Ich habe einen RESAS-API-Client in Java erstellt
Ich wollte (a == 1 && a == 2 && a == 3) in Java wahr machen
Ich war ein wenig süchtig nach dem S3-Prüfsummenvergleich, machen Sie sich also eine Notiz.
[Kleine Geschichte] Ich habe versucht, die Java-ArrayList etwas komfortabler zu gestalten
[Java] Ich habe Polymorphismus studiert, daher werde ich zusammenfassen, wie man ihn verwendet und welche Vorzüge er hat.
Ich habe versucht, einen neuen Sortieralgorithmus zu erstellen, aber ich weiß nicht, ob er wirklich neu ist
Da ich es oft benutze, notiere ich mir DB-bezogene Dinge auf Android.
Ich habe den lesbaren Code gelesen, machen Sie sich also eine Notiz
Ich möchte ein kleines Symbol in Rails verwenden
Ich habe versucht, eine Anmeldefunktion mit Java zu erstellen
Kintone-Klon? Ich war ziemlich süchtig danach, die OSS WebDB-Erweiterung mit Lightsail + Docker zu starten. Notieren Sie sich dies.
Ein problematischer Hinweis beim Versuch, nginx mit Remote-Containern von vscode zu verwenden
[Anfänger] Versuchen Sie, mit Java ein einfaches RPG-Spiel zu erstellen ①
[Anfänger] Ich habe ein Programm zum Verkauf von Kuchen in Java erstellt
Ich möchte ein bestimmtes Modell von ActiveRecord ReadOnly erstellen
Ich möchte eine Liste mit Kotlin und Java erstellen!
Ich wollte nur eine reaktive Eigenschaft in Java erstellen
Ich möchte eine Funktion mit Kotlin und Java erstellen!
Ich habe den Java-Test Level 2 bestanden und werde eine Notiz hinterlassen
[Java] Ich habe versucht, mit der Grabmethode ein Labyrinth zu erstellen ♪
Ich mache mir Sorgen, mit JAVA und XML zu produzieren. Notieren Sie sich also, was ich versuche, ohne zu vergessen (Anzeige für Anweisung anzeigen).
So erstellen Sie einen Java-Container
So erstellen Sie ein Java-Array
Verstehe die Lambda-Formel ein wenig
Ich war süchtig nach einem einfachen Test von Jedis (Java-> Redis-Bibliothek)
Java-Anfänger haben versucht, mit Spring Boot eine einfache Webanwendung zu erstellen
[Java] So verwenden Sie Teilzeichenfolgen, um einen Teil einer Zeichenfolge auszuschneiden
[Java] Beachten Sie, wie Sie RecyclerView verwenden und die animierte Swipe-Verarbeitung implementieren.
Ich habe versucht, den CPU-Kern mit Ruby voll auszunutzen
Ich habe versucht, mit AI "A3RT" eine Talk-App in Java zu erstellen.
Ich habe versucht, die Grammatik von R und Java zu übersetzen [Von Zeit zu Zeit aktualisiert]