Notizia:
  • Rilasciata Precise Pangolin 12.04. Per ottenerla, visitate questa pagina, oppure provate il tour dal vivo con un browser web moderno.
  • Nuovo forum di Ubuntu-it, l'annuncio. È consigliato aggiornare il proprio profilo e controllare la sezione Gruppo Forum per problemi noti.
  • Rilasciata la versione italiana di Precise Pangolin 12.04. Per maggiori informazioni, consultare questa discussione.
  • Il vincitore del Concorso desktop del mese di aprile è Jerico. L'elenco dei precedenti vincitori è qui.
  • È uscito il numero 17 della Newsletter italiana di Ubuntu. Lo trovate a questo indirizzo.
  • È uscito il numero 59 di Full Circle Magazine in italiano. Lo trovate a questo indirizzo.

[RISOLTO][JAVA] Costo operazione

Linguaggi di programmazione: php, perl, python, C, bash, ecc.

[RISOLTO][JAVA] Costo operazione

Messaggioda becherovka » giovedì 9 febbraio 2012, 11:57

Ciao a tutti, volevo chiedervi una cosa, dati questi due codici:

Codice: Seleziona tutto
if(!Pattern.matches("[0-9]*[.]?[0-9]+",buffer3))
            esegui();


Codice: Seleziona tutto
try{
     Double.parseDouble(buffer3);
}catch(NumberFormatException e){
    esegui();
}


Computazionalmente quale è più costosa quindi conviene non utilizzare?Ciao e grazie
Ultima modifica di becherovka il giovedì 9 febbraio 2012, 21:52, modificato 1 volta in totale.
becherovka
Prode Principiante
 
Messaggi: 183
Iscrizione: dicembre 2006

Re: [JAVA] Costo operazione

Messaggioda Squall867 » giovedì 9 febbraio 2012, 12:38

Costo non sono sicuro ma tra i 2 consiglierei il secondo perchè più leggibile.
Leggendo il secondo capisco subito che vuoi fare attivare quel codice quando il numero non è un double..e coi pc potenti che abbiamo è meglio favorire la manutenibilità.
Avatar utente
Squall867
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 459
Iscrizione: settembre 2010

Re: [JAVA] Costo operazione

Messaggioda becherovka » giovedì 9 febbraio 2012, 12:57

Nel mio caso non interessa la leggibilità. Il primo usa regexp, il secondo prova a convertire e lancia un'eccezione che deve essere catturata. Semplicemente vorrei capire quale computazionalmente costa di più. Grazie
becherovka
Prode Principiante
 
Messaggi: 183
Iscrizione: dicembre 2006

Re: [JAVA] Costo operazione

Messaggioda becherovka » giovedì 9 febbraio 2012, 14:49

Alla domanda sul costo dell'operazione ne aggiungo un'altra. Ho visto che l'instanceof è considerato reflection, il verificare come faccio su se un dato è o meno un double è anch'essa reflection?. Se si/no perchè? Ho cercato un pò in rete ma non riesco a capirlo bene.  Grazie a tutti.
becherovka
Prode Principiante
 
Messaggi: 183
Iscrizione: dicembre 2006

Re: [JAVA] Costo operazione

Messaggioda Zoff » giovedì 9 febbraio 2012, 15:00

Tra i due meglio secondo me il secondo. Puramente ad intuito direi che è anche piu' performante.

Si definisce reflection la possibilità di interagire con le carratteristiche di OOP degli oggetti attravreso gli oggetti stessi.
Si usa cioè reflection quando si trattano degli oggetti che modellano classi, metodi, campi, etc...
In questo caso non si fa reflection perché si controlla unicamente se il contenuto di una stringa rappresenta un numero a virgola mobile o meno e non si tirano in ballo Class, Method, Constructor, Field, etc...

Con instanceof invece si controlla che gli oggetti condividano almeno un Class.
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
 
Messaggi: 24443
Iscrizione: ottobre 2007
Località: Romagna!!!
Distribuzione: Ubuntu 12.04
Desktop: Unity e Gnome Shell


Torna a Programmazione

Chi c’è in linea

Visualizzano questa pagina: madground e 1 ospite