Ich beschäftige mich zurzeit mit Interfaces und hab mal eine Frage zum CharSequence Interface. Nehmen wir mal folgendes Beispiel an:
Warum kann ich in der zweiten Zeile nicht schreiben
chars.subSequence ruft doch die subSequence Methode aus String auf (ist ja ein String Objekt), welche intern wiederrum die subString-Methode aufruft. Somit gibt subSequence doch ein (neues) String-Objekt zurück was ich in 'String blub' speichern können sollte, oder?
Warum muss ich
schreiben - also expliziet das Objekt als String umwandeln?
Code:
CharSequence chars = new String("hallo");
CharSequence blub = chars.subSequence(2,4);
Code:
String blub = chars.subSequence(2,4);
Warum muss ich
Code:
String blub = (String) chars.subSequence(2,4);