Char +1 wird int?

Diskutiere Char +1 wird int? im Allgemeine Java-Themen Bereich.
Thallius

Thallius

Hallo

wer erklärt mir diesen Blödsinn?

String scheduleType = "A";
return Character.toString( scheduleType.charAt(0) + 1 );

Ich erwarte hier als Rückgabe ein "B" aber die IDE meckert das Charakter.toString(int) nicht erlaubt ist.
Warum wird aus einem char, wenn man 1 addiert plötzlich ein int?

Gruß

Claus
 
krgewb

krgewb

String scheduleType = "A";
retrurn Character.toString((char) (scheduleType.charAt(0) + 1));
 
J

JustNobody

Java Language specification 5.6.2, da werden diverse Optionen genannt. Wenn keine zutrifft, dann wird in einen int gecastet. Daher kommt als Resultat ein int raus. Und ein int passt da nicht immer, denn beim convertieren könnten Daten verloren gehen.
 
Wurstkopp

Wurstkopp

Was erwartest du denn z.B. hier:

Java:
System.out.println(1 + 1.0);
Findest du es da auch Blödsinn, dass es zum Double wird?

Btw. Seit Java 11 gibt es sogar die Methode mit (int) die dann den Unicode Raum abdeckt.
 
T

Tobias-nrw

Tipp... wenn möglich, nach (char) nach der Rechenoperation casten. Dadurch kann danach wieder mit einem char hantiert werden.
 
krgewb

krgewb

Das habe ich in Beitrag #3 gemeint. Die Code-Tags haben irgendwie nicht funktioniert.
 
Thema: 

Char +1 wird int?

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben