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:
Quando compilo mi segnala i seguenti 2 errori, sapreste dirmi come rimediare?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; } }
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