[Java] Beim Zuweisen einer Zeichenfolge zu einer Zeichenvariablen ist ein Fehler mit inkompatiblen Typen aufgetreten.

Umgebung

-Host-Betriebssystem: Windows10 Home ・ Gastbetriebssystem: WSL2 Ubuntu18.04 LTS ・ VScode Version 1.44.2 ・ Java openjdk11

Fehlerinhalt


public static int execute(int firstNum, char operator, int secondNum) throws ArithmeticException{
        switch (operator) {
            case "+": //1
                return firstNum + secondNum;
                break;

Als ich den obigen Code ausführte, trat der folgende Fehler bei // 1 auf. ・ Inkompatible Typen ・ Typkonflikt: Konvertiert nicht von String in char

Es scheint, dass "+" als Zeichenfolge vom Typ String anstelle eines Zeichentyps erkannt wird.

Lösung


public static int execute(int firstNum, char operator, int secondNum) throws ArithmeticException{
        switch (operator) {
            case '+': //Änderungsort
                return firstNum + secondNum;
                break;

Infolge der obigen Korrektur verschwand der Kompilierungsfehler.

Rücksichtnahme etc.

Wenn Sie "Zeichen" -Daten im Quellcode beschreiben, setzen Sie sie in Anführungszeichen ('). Verwenden Sie beim Schreiben von "Zeichenfolgendaten" doppelte Anführungszeichen ("). (Kiyotaka Nakayama, Daigo Kunimoto, "Einführung in Java mit klarem Verständnis, 2. Auflage", S. 50)

Damit Zeichenfolge Typ Zeichenfolge → in "" einschließen Zeichen vom Typ char → In '' einschließen

Ich möchte mich erinnern.

Referenzmaterial

[Einführung in Java 2nd Edition](https://www.amazon.co.jp/%E3%82%B9%E3%83%83%E3%82%AD%E3%83%AA%E3%82 % 8F% E3% 81% 8B% E3% 82% 8BJava% E5% 85% A5% E9% 96% 80-% E7% AC% AC2% E7% 89% 88-% E3% 82% B9% E3% 83 % 83% E3% 82% AD% E3% 83% AA% E3% 82% B7% E3% 83% AA% E3% 83% BC% E3% 82% BA-% E4% B8% AD% E5% B1% B1-% E6% B8% 85% E5% 96% AC / dp / 484433638X)

Recommended Posts

[Java] Beim Zuweisen einer Zeichenfolge zu einer Zeichenvariablen ist ein Fehler mit inkompatiblen Typen aufgetreten.
[Java] So schneiden Sie eine Zeichenfolge zeichenweise aus
[Java] So löschen Sie ein bestimmtes Zeichen aus einer Zeichenfolge
Ich habe versucht, in Java von einer Zeichenfolge in einen LocalDate-Typ zu konvertieren
[Einführung in Java] Informationen zu Variablen und Typen (Variablendeklaration, Initialisierung, Datentyp)
[Java] So verwenden Sie Teilzeichenfolgen, um einen Teil einer Zeichenfolge auszuschneiden
[Java] Teilen Sie eine Zeichenfolge durch ein angegebenes Zeichen
[Java] Konvertiert Null vom Objekttyp in String-Typ
Notation zum Einfügen von Variablen in eine Zeichenfolge
[Einführung in Java] Informationen zu Variablendeklarationen und -typen
Typkonvertierung vom Java Big Decimal-Typ zum String-Typ
[Java] So konvertieren Sie ein Element eines Array vom Typ String in einen Int-Typ
[Java] Unterschied zwischen gleich und == in einer Zeichenfolge, die ein Referenztyp ist
[Android] So konvertieren Sie eine Zeichenfolge in resourceId
Code zum Escapezeichen von JSON-Zeichenfolgen in Java
[Java] Wenn Sie eine Zeichenfolge in die switch-Anweisung einfügen, müssen Sie sie zu einem konstanten Ausdruck machen
Der [Java] char-Typ kann in den int-Typ umgewandelt werden
java: Wie schreibe ich eine generische Typliste? [Hinweis]