andbin ha scritto:
E allora cosa ti aspettavi facendo this.charAt( ... ) ?
"sto invocando un metodo charAt in questo oggetto"
Come potrebbe pensare (il compilatore) che vuoi il charAt di String? Lo dovresti invocare su un oggetto String, appunto. La tua classe non è String e non ha comunque un charAt.
L'oggetto (this.) deve infatti essere di tipo String, ma questo dovrebbe riguardare l'utilizzo del metodo, non la sua definizione, o sbaglio? Mi spiego meglio. Quando utilizzo il metodo charAt() lo faccio nel seguente modo:
oggetto.charAt(numeroIndice)
E' a questo punto che devo assicurarmi che l' "oggetto" sia di tipo String.
Quando però definisco un metodo che ha un parametro implicito e che utilizza il metodo charAt() su questo parametro implicito all'interno delle sue istruzioni, non ci dovrebbero essere problemi se lo riferisco ad un
eventuale oggetto "this" (che POI dovrò assicurarmi essere di tipo String).
Quanto mi aspetto è che il compilatore verifichi che l'iniziale (il "char" all'indice "0") sia o uguale ad "a", o ad "e", eccetera.
(Premetto essere nuovo in Java, quindi potrei benissimo star dicendo fesserie )