Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
vivo X300 Pro rappresenta un'evoluzione misurata della serie fotografica del produttore cinese, con un sistema di fotocamere migliorato, chipset Dimensity 9500 di ultima generazione e l'arrivo dell'interfaccia OriginOS 6 anche sui modelli internazionali. La scelta di limitare la batteria a 5.440mAh nel mercato europeo, rispetto ai 6.510mAh disponibili altrove, fa storcere un po' il naso
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2 è la nuova handheld PC gaming con processore AMD Ryzen Z2 Extreme (8 core Zen 5/5c, GPU RDNA 3.5 16 CU) e schermo OLED 8,8" 1920x1200 144Hz. È dotata anche di controller rimovibili TrueStrike con joystick Hall effect e una batteria da 74Wh. Rispetto al dispositivo che l'ha preceduta, migliora ergonomia e prestazioni a basse risoluzioni, ma pesa 920g e costa 1.299€ nella configurazione con 32GB RAM/1TB SSD e Z2 Extreme
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
A re:Invent 2025, AWS mostra un’evoluzione profonda della propria strategia: l’IA diventa una piattaforma di servizi sempre più pronta all’uso, con agenti e modelli preconfigurati che accelerano lo sviluppo, mentre il cloud resta la base imprescindibile per governare dati, complessità e lock-in in uno scenario sempre più orientato all’hybrid cloud
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 17-12-2004, 22:09   #1
andrea
Senior Member
 
L'Avatar di andrea
 
Iscritto dal: Jul 1999
Città: Roma
Messaggi: 614
[Java] If in cui entra sempre

Ho questo metodo:

Codice:
public int updateCliente(Connection c, Cliente d) throws SQLException {
  	int id = -1 ;
  	String s = d.getCognome();
    String s1 = d.getNome();
    String idQuery="SELECT * FROM cliente where " + Cliente.COGNOME + "=" + "'" +s +"' AND " +
	Cliente.NOME + "=" + "'" +s1 +"'";
    System.out.println(idQuery);
    Statement st=c.createStatement();
    ResultSet rs=st.executeQuery(idQuery);
    rs.next();
    id=rs.getInt(1);
   	String upQuery = "UPDATE cliente SET ";
    String upQuery2= "WHERE "+Cliente.NOME+"="+"'"+d.getNome()+"' AND " +Cliente.COGNOME+ "="+"'"+ d.getCognome()+"'";
    
    if ( d.getCitta() != " " ) {
    	upQuery = upQuery + Cliente.CITTA + "=" +"'"+d.getCitta()+"'";
    }
    if (d.getEmail()!= " ") {
    	upQuery = upQuery +","+ Cliente.EMAIL+  "=" +"'"+d.getEmail()+"'";
    }
    if (d.getTelefono() != null) {
    	upQuery = upQuery +","+ Cliente.TELEFONO + "=" +"'"+d.getTelefono()+"'";
    }
    if (d.getNazione()!= null) {
    	upQuery = upQuery +","+ Cliente.NAZIONE + "=" +"'"+d.getNazione()+"'";
    }
    if (d.getLingua()!= null) {

    	upQuery = upQuery +","+ Cliente.LINGUA + "=" +"'"+d.getLingua()+"'";
    }
    
    	upQuery= upQuery+upQuery2;
        System.out.println(upQuery);
        st.executeUpdate(upQuery);
       
    return id;
  }
Secondo voi perche' mi esegue sempre tutte le if anche quando i campi di d(che e' un oggetto di tipo cliente con tutti campi stringhe) sono vuoti?Spero che qualcuno possa darmi una mano anche se non credo sia facilissimo.
__________________
...What you know that you time is close at hand, maybe then you'll begin to understand, life down there is just a strange illusion.
andrea è offline   Rispondi citando il messaggio o parte di esso
Old 17-12-2004, 22:41   #2
andrea
Senior Member
 
L'Avatar di andrea
 
Iscritto dal: Jul 1999
Città: Roma
Messaggi: 614
Sono un cretino devo usare il metodo equals...
__________________
...What you know that you time is close at hand, maybe then you'll begin to understand, life down there is just a strange illusion.
andrea è offline   Rispondi citando il messaggio o parte di esso
Old 18-12-2004, 02:46   #3
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
c'è anke il metodo x ignorare il case volendo solo ke il nome preciso non lo ricordo....
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 18-12-2004, 12:45   #4
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
Esatto, l'uguale serve a testare l'uguaglianza fra puntatori, ovvero se puntano allo steso oggetto (locazione di memoria). Il metodo x ignorare il case è...guarda un po' equalsIgnoreCase(...)
cn73 è offline   Rispondi citando il messaggio o parte di esso
Old 18-12-2004, 13:39   #5
end.is.forever
Senior Member
 
Iscritto dal: Jul 2004
Messaggi: 1578
Quote:
Originariamente inviato da cn73
Esatto, l'uguale serve a testare l'uguaglianza fra puntatori
Fra riferimenti
puntatori non necessariamente
end.is.forever è offline   Rispondi citando il messaggio o parte di esso
Old 18-12-2004, 13:48   #6
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
Uff... Per puntatori io indico variabili che puntano (si riferiscono) ad oggetti. Cosa intendi per riferimenti?

Ultima modifica di cn73 : 18-12-2004 alle 13:54.
cn73 è offline   Rispondi citando il messaggio o parte di esso
Old 22-12-2004, 18:03   #7
pipozzolo
Senior Member
 
L'Avatar di pipozzolo
 
Iscritto dal: Feb 2001
Città: Kasteddu
Messaggi: 1890
== confronta semplicemente il valore contenuto dalle variabili.
Che poi il contenuto sia un tipo primitivo o un indirizzo di memoria non è fondamentale
__________________
Asus P5Q-E - Intel Q6600 - Corsair 4GB DDR2 - Radeon HD5770 - Seagate 320GB sata2 16M - Audigy2 ZS
Acer Aspire 3023 WLMI
pipozzolo è offline   Rispondi citando il messaggio o parte di esso
Old 22-12-2004, 19:05   #8
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
Quote:
Originariamente inviato da pipozzolo
== confronta semplicemente il valore contenuto dalle variabili.
Che poi il contenuto sia un tipo primitivo o un indirizzo di memoria non è fondamentale

Perchè il valore di una variabile di tipo primitivo dov'è contenuto?
cn73 è offline   Rispondi citando il messaggio o parte di esso
Old 22-12-2004, 20:34   #9
pipozzolo
Senior Member
 
L'Avatar di pipozzolo
 
Iscritto dal: Feb 2001
Città: Kasteddu
Messaggi: 1890
Quote:
Originariamente inviato da cn73
Perchè il valore di una variabile di tipo primitivo dov'è contenuto?
in java non hai visibilità degli indirizzi in memoria di un tipo primitivo,
tant'è che non si può creare un alias e vengono sempre passati per valore ai metodi.

Una variabile in java può contenere un valore, il quale può essere:
1) Un tipo primitivo (int,float etc etc)
2) Un indirizzo ad un'area di memoria.
All'atto pratico, le due categorie sono identiche per l'operatore ==
se io faccio:

int a = 0;
int b = 1;
if(a == b)....

viene confrontato il contenuto delle due variabili e la condizione sarà vera solo se coicidono ok?
non posso cambiare l'indirizzo nel quale è contenuto il valore di a, posso solo assegnargli o cambiarne il valore contenuto, ok?
Quindi poco importa parlare di indirizzi di memoria, in questo caso.

Analogamente, se io faccio:
Classe c = new Classe();
Classe d = new Classe();
if(c == d).....

Come prima, viene semplicemente confrontato il contenuto delle due variabili.
la variabile c conterrà un valore che rappresenta un indirizzo di memoria, la variabile d conterrà ugualmente un valore.
Se i due valori (che in questo caso sono riferimenti ad aree di memoria) coincidono, la condizione è vera, esattamente la stessa cosa che accade per i tipi primitivi.
Chiaro il senso, ora?
__________________
Asus P5Q-E - Intel Q6600 - Corsair 4GB DDR2 - Radeon HD5770 - Seagate 320GB sata2 16M - Audigy2 ZS
Acer Aspire 3023 WLMI
pipozzolo è offline   Rispondi citando il messaggio o parte di esso
Old 23-12-2004, 12:23   #10
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
A me era chiarissimo anche prima di questa spiegazione fra l'altro interessante (senza ironia); ti richiedo:

Perchè il valore di una variabile di tipo primitivo dov'è contenuto?
cn73 è offline   Rispondi citando il messaggio o parte di esso
Old 23-12-2004, 13:24   #11
pipozzolo
Senior Member
 
L'Avatar di pipozzolo
 
Iscritto dal: Feb 2001
Città: Kasteddu
Messaggi: 1890
Quote:
Originariamente inviato da cn73
A me era chiarissimo anche prima di questa spiegazione fra l'altro interessante (senza ironia); ti richiedo:

Perchè il valore di una variabile di tipo primitivo dov'è contenuto?
Dipende dall'implementazione della jvm, visto che è 'mascherata' all'utilizzatore.
Per uno sviluppatore questo non ha alcuna importanza.

Normalmente cmq stanno anch'esse in un'area di memoria, ma non ti so dire se le jvm le allochino nello stack (come da logica) o nello heap o in l'uno o l'altro a seconda di criteri a me sconosciuti.
__________________
Asus P5Q-E - Intel Q6600 - Corsair 4GB DDR2 - Radeon HD5770 - Seagate 320GB sata2 16M - Audigy2 ZS
Acer Aspire 3023 WLMI
pipozzolo è offline   Rispondi citando il messaggio o parte di esso
Old 23-12-2004, 16:57   #12
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
Non era una domanda trabocchetto! La risposta comunque è corretta: sia che stiano nella heap che nello stack ...stanno in memoria! Ergo la mia affermazione era corretta
cn73 è offline   Rispondi citando il messaggio o parte di esso
Old 23-12-2004, 17:11   #13
pipozzolo
Senior Member
 
L'Avatar di pipozzolo
 
Iscritto dal: Feb 2001
Città: Kasteddu
Messaggi: 1890
Quote:
Originariamente inviato da cn73
Non era una domanda trabocchetto! La risposta comunque è corretta: sia che stiano nella heap che nello stack ...stanno in memoria! Ergo la mia affermazione era corretta
Sbagliato
Potrebbero stare solo in un registro per tutta l'esecuzione del processo e non essere mai messa in stack

E come sai... parlare di puntatori ad una variabile in stack è quantomeno errato.

Cmq credo che il senso della frase di end.is.forever fosse che il confronto è tra riferimenti e non puntatori, ad esempio:
Classe c = new Classe();
if(c == new Classe()) ....

In questo caso, non puoi dire chè un confronto tra puntatori perchè il secondo non lo è, è invece un confronto tra riferimenti.
Lo stesso c è un puntatore, cioè è una variabile che contiene un riferimento alla memoria.
Quindi anche secondo me è errato parlare di confronto tra puntatori (anche se è veramente una pignoleria )
__________________
Asus P5Q-E - Intel Q6600 - Corsair 4GB DDR2 - Radeon HD5770 - Seagate 320GB sata2 16M - Audigy2 ZS
Acer Aspire 3023 WLMI
pipozzolo è offline   Rispondi citando il messaggio o parte di esso
Old 23-12-2004, 18:39   #14
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
Ho capito ho capito, sei uno di quelli con cui non si deve discutere!
cn73 è offline   Rispondi citando il messaggio o parte di esso
Old 23-12-2004, 18:44   #15
pipozzolo
Senior Member
 
L'Avatar di pipozzolo
 
Iscritto dal: Feb 2001
Città: Kasteddu
Messaggi: 1890
Quote:
Originariamente inviato da cn73
Ho capito ho capito, sei uno di quelli con cui non si deve discutere!
Ho capito, ho capito, non sai più come motivare la tua tesi vero?
__________________
Asus P5Q-E - Intel Q6600 - Corsair 4GB DDR2 - Radeon HD5770 - Seagate 320GB sata2 16M - Audigy2 ZS
Acer Aspire 3023 WLMI
pipozzolo è offline   Rispondi citando il messaggio o parte di esso
Old 23-12-2004, 18:53   #16
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
No, è questione di buon senso. Volendo possiamo attaccarci a 2000 argomentazioni teoriche per altri 300 post, ma la sostanza è quella. Ti potrei dire che un registro non è altro che una cache hardware e che un'insieme di registri formano una "memoria" ad alta velocità, e che perciò è sempre una memoria, e che infine la mia affermazione non era sbagliata...
Ma non lo farò, perchè siamo fra persone intelligenti e abbiamo capito che cosa volevamo dire...
cn73 è offline   Rispondi citando il messaggio o parte di esso
Old 23-12-2004, 22:02   #17
pipozzolo
Senior Member
 
L'Avatar di pipozzolo
 
Iscritto dal: Feb 2001
Città: Kasteddu
Messaggi: 1890
Quote:
Originariamente inviato da cn73
No, è questione di buon senso. Volendo possiamo attaccarci a 2000 argomentazioni teoriche per altri 300 post, ma la sostanza è quella. Ti potrei dire che un registro non è altro che una cache hardware e che un'insieme di registri formano una "memoria" ad alta velocità, e che perciò è sempre una memoria, e che infine la mia affermazione non era sbagliata...
Ma non lo farò, perchè siamo fra persone intelligenti e abbiamo capito che cosa volevamo dire...
Hai ragione, ma credo anche che le persone intelligenti sappiano ammettere di aver sbagliato, visto che non c'è niente di male.
Detto questo...
Ciao
__________________
Asus P5Q-E - Intel Q6600 - Corsair 4GB DDR2 - Radeon HD5770 - Seagate 320GB sata2 16M - Audigy2 ZS
Acer Aspire 3023 WLMI
pipozzolo è offline   Rispondi citando il messaggio o parte di esso
Old 24-12-2004, 13:34   #18
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
Quote:
Originariamente inviato da pipozzolo
Hai ragione, ma credo anche che le persone intelligenti sappiano ammettere di aver sbagliato...
...e sappiano resistere alla tentazione di rimarcare gli errori altrui soprattutto quando si capisce benissimo cosa si vuole dire...


Ultima modifica di cn73 : 24-12-2004 alle 13:51.
cn73 è offline   Rispondi citando il messaggio o parte di esso
Old 25-12-2004, 22:32   #19
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
posso partecipare alla bevuta?
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria Recensione vivo X300 Pro: è ancora lui il...
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'...
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti AWS re:Invent 2025: inizia l'era dell'AI-as-a-Se...
Cos'è la bolla dell'IA e perché se ne parla Cos'è la bolla dell'IA e perché se...
BOOX Palma 2 Pro in prova: l'e-reader diventa a colori, e davvero tascabile BOOX Palma 2 Pro in prova: l'e-reader diventa a ...
WhatsApp: in fase di test l'introduzione...
XPeng G9 MY26 segna il record europeo pe...
Apple corregge due gravi vulnerabilit&ag...
DC Comics batte al cinema Marvel per la ...
L'iPhone più sottile di sempre scende di...
Saros di Housemarque punta ad offrire un...
La statale cinese FAW entra in Leapmotor...
Rinnova il PC spendendo meno: super offe...
Windows 11: Microsoft riduce l'uso di RA...
I 4 smartphone più venduti su Ama...
Samsung SDI testa una batteria silicon-c...
Volete un robot senza compromessi? DREAM...
CATL conferma un uso massiccio di batter...
Ripartono le offerte DJI: Neo torna a 14...
ASUS anticipa le schede madri AM5 NEO: d...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 12:42.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v