Sto cercando di creare una calcolatrice per allenarmi in vista dell'esame di prog2, ho studiato da poco i tipi generici ma ho sicuramente sbagliato qualcosa. Questo è il codice dell'oggetto che mi crea problemi:
codice:
public class Espressione<E> {
private final char tipo; //tipo del carattere "n" per numero "o" per operazione "p" per parentesi
private final E elemento; //Sarà o frazione(Frazione) o un operazione(char)
private final int priorita; //priorità
public Espressione(char type, String element, int priority) {
if(type=='n') {
elemento = new E(Integer.parseInt(element));
}
else if(type == 'o') {
elemento = element.charAt(0);
}
else //se non è tra i caratteri permessi solleva eccezione
throw new IllegalArgumentException("Mi aspettavo una parentesi o un operando\nErrore di Sistema\nErrore nel creare CharEsp con il primo costruttore");
tipo=type;
priorita = priority;
}
public E getElemento() {
return elemento;
}
public char getTipo() {
return tipo;
}
}
Quando compilo mi segnala i seguenti 2 errori, sapreste dirmi come rimediare?
C:\Users\Asus\Desktop\Documenti\Uni\MieiProgetti\E spressione.java:8: error: unexpected type
elemento = new E(Integer.parseInt(element));
^
required: class
found: type parameter E
where E is a type-variable:
E extends Object declared in class Espressione
C:\Users\Asus\Desktop\Documenti\Uni\MieiProgetti\E spressione.java:11: error: incompatible types
elemento = element.charAt(0);
^
required: E
found: char
where E is a type-variable:
E extends Object declared in class Espressione
2 errors
Procedura completata con codice di uscita 1