Domanda

Questo è un pulsante di funzione Annulla su una calcolatrice che sto scrivendo. annulla è il pulsante Stato è una classe che detiene il mio stato. listOfStates è un ArrayList of Status. displayBox è un oggetto di JTextFeild. Quello che non capisco è che quando visualizzo previousState nella casella di testo ottengo qualcosa del tipo: Status @ 11dc088. So che mi manca il casting di qualcosa qui. Grazie per qualsiasi aiuto.

if(e.getSource() == undo)
             {
                 Status previousState  = (Status) listOfStates.get(listOfStates.size()- 1);

                 displayBox.setText(" ");
                 displayBox.setText(displayBox.getText()  + previousState);
                 System.out.println(previousState);
                }
È stato utile?

Soluzione

Lo stato è una classe personalizzata e non è stato implementato un metodo toString () in modo da ottenere il metodo toString () predefinito dell'oggetto.

Sostituisci il metodo toString () nella classe Status per restituire una stringa significativa.

Oppure, usa un metodo della tua classe come previousState.getStatus () per usare la proprietà appropriata della tua classe.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top