Ich wollte (a == 1 && a == 2 && a == 3) in Java wahr machen

Kann Stapelüberlauf immer [(a == 1 && a == 2 && a == 3) auf true setzen](https://stackoverflow.com/questions/48270127/can-a-1-a-2- Der Artikel a-3-ever-evalu-to-true) ist beliebt. Die ursprüngliche Geschichte ist ein Javascript-Problem, aber ich habe einen Artikel gesehen, der das gleiche Problem in Peri hat, also werde ich einen Artikel veröffentlichen, um auf den Trend zu kommen.

Derzeit verwende ich hauptsächlich Java in meinem Unternehmen, daher habe ich mir überlegt, wie ich es mit Java machen soll. Ich habe mich gefragt, ob es irgendwo in Qiita ist, also habe ich viele Dinge gefangen, aber [(a == 1 && a == 2 && a == 3) ist immer wahr. Qiita-Artikelzusammenfassung, die das Stapelüberlaufproblem gelöst hat]( Soweit ich https://qiita.com/aimof/items/bb786c112f7dcc3be6c9) sehen kann, schien es nicht so zu sein. Wenn Sie es dann finden, warum nicht die erste Fahrt machen? Dies ist das Ergebnis des Quetschens des Balls durch Versuch und Irrtum.

Mögliche Lösungen

Es scheint verschiedene Lösungen zu geben. Als Beispiel sieht es so aus.

Referenz: ((a == 1 && a == 2 && a == 3) kann immer wahr sein?)

Ich habe es vorerst so oft versucht. Java unterliegt strengen Codierungsbeschränkungen, erlaubt nicht das Auslassen des Schreibstils, der in anderen Sprachen ausgeführt werden kann, und implementiert häufig keine Funktionen in anderen Sprachen, sodass es im Grunde nicht funktioniert. ..

Überladen des Operators ==

Java implementiert keine erweiterten Funktionen wie das Überladen von Operatoren. Es ist in C ++ und Perl.

Machen Sie eine Funktion

Main.java


public class Main {
	static int i = 1;
	
	public static void main(String[] args) {
		System.out.println(a() == 1 && a() == 2 && a() == 3);
		//true wird angezeigt
	}
	
	static int a() {
		return i++;
	}

}

Ich hätte es tun können, wenn Java eine Funktion wie "Funktionen ohne Argumente können weglassen ()" hätte. Ich denke, das ist wahrscheinlich das Bedauerlichste.

Machen Sie ein Objekt

Erstens werde ich wütend, wenn ich ein Objekt nicht mit einem primitiven Typ vergleichen kann.

		Object a = 1;	
		System.out.println(a == 1 && a == 2 && a == 3); //Kompilierungsfehler

Das Aufrufen eines Feldes oder einer Methode in einem Objekt funktioniert nicht, da Sie am Ende etwas wie "a.number" oder "a.getint ()" schreiben müssen.

Es gibt einige praktische Klassen, die den Typ eines Objekts so konvertieren können, wie er ist. Dies ist eine Wrapper-Klasse.

		Integer a = 1;
		System.out.println(a == 1); //Intern a.intValue() ==Werden Sie 1

Erstellen Sie dann eine Klasse, die dies erbt, und spielen Sie mit intValue ()! Als ich dachte, ich könnte es nicht mit der letzten Klasse erben. Korrekt.

Ist es nicht möglich, eine Regel wie "Bei Verwendung der Funktionsschnittstelle kann () weggelassen werden, wenn kein Argument vorhanden ist"?

Fazit

In Java ist es unmöglich, immer (a == 1 && a == 2 && a == 3) auf true zu setzen. Wenn Sie die Lösung kennen, lassen Sie es mich bitte wissen. .. ..

Nachtrag

Ich habe es gefunden, wenn ich es richtig nachgeschlagen habe. Es tut mir allen meinen Vorfahren leid. Ich möchte true auch in Java mit == 1 && a == 2 && a == 3 ausgeben Ich möchte true auch in Java mit == 1 && a == 2 && a == 3 (Black Magic) ausgeben Ausgabe true mit if (a == 1 && a == 2 && a == 3) in Java (Invisible Identifier) Ich möchte true auch in Java mit == 1 && a == 2 && a == 3 (PowerMockito Edition) ausgeben Ich möchte true auch in Java mit == 1 && a == 2 && a == 3 (schwarze Ausgabe) ausgeben

Wenn Sie PowerMockito verwenden, können Sie Integer zwangsweise erben.

Recommended Posts

Ich wollte (a == 1 && a == 2 && a == 3) in Java wahr machen
Ich habe Java gemacht, um (a == 1 && a == 2 && a == 3) immer wahr zu machen
Ich habe versucht, eine Anmeldefunktion mit Java zu erstellen
Selbst in Java möchte ich true mit == 1 && a == 2 && a == 3 ausgeben
Ich habe einen RESAS-API-Client in Java erstellt
Selbst in Java möchte ich true mit == 1 && a == 2 && a == 3 ausgeben (PowerMockito Edition)
Ich habe versucht, mit AI "A3RT" eine Talk-App in Java zu erstellen.
Ich habe versucht, eine Clova-Fähigkeit in Java zu erstellen
Ich habe ein PDF mit Java erstellt.
So erstellen Sie einen Java-Container
Sogar in Java möchte ich true mit == 1 && a == 2 && a == 3 ausgeben (Javassist zweite Abkochung)
So erstellen Sie ein Java-Array
Selbst in Java möchte ich true mit == 1 && a == 2 && a == 3 (Black Magic) ausgeben.
[Anfänger] Ich habe ein Programm zum Verkauf von Kuchen in Java erstellt
Ich möchte eine Liste mit Kotlin und Java erstellen!
Ich möchte eine Funktion mit Kotlin und Java erstellen!
Ich habe versucht, in Java von einer Zeichenfolge in einen LocalDate-Typ zu konvertieren
Ich wollte glauben, ich hätte Elms benutzerdefinierte Typen in Java verstanden
So erstellen Sie eine Java-Kalenderzusammenfassung
Einfach, Slack Bot mit Java zu machen
Wie erstelle ich einen Discord Bot (Java)
[Java] Ich habe versucht, mit der Grabmethode ein Labyrinth zu erstellen ♪
Ich habe ein Programm zur Beurteilung von Primzahlen in Java erstellt
Ich habe versucht, ein übergeordnetes Wertklasseobjekt in Ruby zu erstellen
Machen Sie einen Blackjack mit Java
Zwei Möglichkeiten, einen Thread in Java + @ zu starten
Ich habe versucht, eine Standardauthentifizierung mit Java durchzuführen
Ich möchte eine E-Mail in Java senden.
So zeigen Sie eine Webseite in Java an
Java Ich habe versucht, einen einfachen Block zu brechen
Code zum Escapezeichen von JSON-Zeichenfolgen in Java
Versuchen Sie, ein Bulletin Board in Java zu erstellen
[JAVA] Projekt Euler, ich steckte im achten Quartal fest
Ich habe ein Programm zur Beurteilung von Primzahlen in Java geschrieben
Ich habe ein Janken-Spiel in Java (CLI) gemacht.
Ich wollte eine Diashow mit Slick modisch umsetzen.
rsync4j - Ich möchte rsync in Java berühren.
Ich habe versucht, neunundneunzig in Java auszugeben
Ich möchte für jedes Array mit Lambda-Ausdruck in Java
Ich habe versucht, Alexa-Fähigkeiten mit Java zu erstellen
Ich habe ein Primfaktorisierungsprogramm in Java geschrieben
Ich habe versucht, den Block mit Java zu brechen (1)
[Kleine Geschichte] Ich habe versucht, die Java-ArrayList etwas komfortabler zu gestalten
So erstellen Sie eine Java-Umgebung in nur 3 Sekunden
Machen Sie "Ich bin kein Roboter" in Java EE (Jakarta EE)
Ich möchte so etwas wie "cls" in Java machen
Ich habe versucht, die Firebase-Push-Benachrichtigung in Java zu implementieren
Ich möchte ES2015 auch in Java verwenden! → (´ ・ ω ・ `)
# 2 [Anmerkung] Ich habe versucht, neunundneunzig mit Java zu berechnen.
[Persönliches Memo] Erstellen Sie eine einfache, tiefe Kopie mit Java
So erstellen Sie einen Daten-URI (base64) in Java
Ich möchte eine Funktion in der Rails Console definieren
Was ich beim Erstellen eines Servers in Java gelernt habe
Ausgabe true mit if (a == 1 && a == 2 && a == 3) in Java (Invisible Identifier)
So konvertieren Sie A in a und a in A mit logischem Produkt und Summe in Java
So konvertieren Sie eine Datei in ein Byte-Array in Java
Versuchen Sie, ein eingeschränktes FizzBuzz-Problem in Java zu lösen
Ich möchte in RSpec auf einen GoogleMap-Pin klicken
Ich habe versucht, die Methode der gegenseitigen Teilung von Eugrid in Java zu implementieren