Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

problem sa dupliranjem stavki u combo boxu?

[es] :: Java :: problem sa dupliranjem stavki u combo boxu?

[ Pregleda: 2487 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

dragan_bg_88
Dragan Slaveski
Beograd

Član broj: 68739
Poruke: 288
*.dynamic.sbb.co.yu.



Profil

icon problem sa dupliranjem stavki u combo boxu?06.06.2007. u 12:21 - pre 205 meseci
Ljudi potrebna mi je hitno pomoc! Radim maturski vezan za bazu i na osnovu pretrage popunjavam kombo box. Sada u toj pretrazi neke vrednosti su mi iste, ali ja necu da mi se ponavljaju. Pokusao sam da namestim da ne dodaje vrednost ako je ista ali tada on upisuje sve vrednosti redom. Pokusao sam da namestim da kada doda vec postojecu vrednost da je zatim odma izbaci ali mi tada izbacuje izuzetak java.sql.SQLException: no data found

Evo sta sam pokusavao, ovo je pokusaj sa izbacivanjem vec postojeceg:

Code:

int i=0;
while(rset.next()){   
            proizvodjac_pad.addItem(rset.getString(1));
            rez=rset.getString(1);            
            if(proizvodjac==rez){
           proizvodjac_pad.removeItemAt(i);}
            proizvodjac=rez;
            i++;
        }


Evo i pokusaja da iste vrednosti ne doda:

Code:

while(rset.next()){   
            rez=rset.getString(1);            
            if(proizvodjac!=rez)
           proizvodjac_pad.addItem(rez);
            proizvodjac=rez;
        }


Molim vas za pomoc, jer sam proveravao na papiru ali u mojoj proveri po 10 put sve radi kako treba u ovom drugo slucaju, a u ovom prvom mi nije jasan taj izuzetak ni malo. U cemu je greska, ili znate resenje? Hvala unapred...
 
Odgovor na temu

dragan_bg_88
Dragan Slaveski
Beograd

Član broj: 68739
Poruke: 288
*.dynamic.sbb.co.yu.



Profil

icon Re: problem sa dupliranjem stavki u combo boxu?06.06.2007. u 12:27 - pre 205 meseci
Ljudi ne morate se muciti, resio sam problem. Samo sam u ovom drugom slucaju kada kazem da se ne stavi u combo ako je isti umesto != pisao sa equals i radi... :)
 
Odgovor na temu

dragan_bg_88
Dragan Slaveski
Beograd

Član broj: 68739
Poruke: 288
*.dynamic.sbb.co.yu.



Profil

icon Re: problem sa dupliranjem stavki u combo boxu?06.06.2007. u 14:06 - pre 205 meseci
E ovako, posto sam se dosta namucio sa ovim uporedjivanjem Stringova, da li neko moze da mi pojasni razliku izmedju ova dva:

String1==String2

i

String1.equals(String2)

Sta se gde uporedjuje posto mi to nije ni malo jasno a znam da nije isto...
 
Odgovor na temu

nemnesic
nemnesic
Software Developer
Vranje Florida

Moderator
Član broj: 44355
Poruke: 802
*.com
Via: [es] mailing liste



+64 Profil

icon Re: problem sa dupliranjem stavki u combo boxu?06.06.2007. u 14:30 - pre 205 meseci
pa ne koristis == operater jer on proverava da li su 2 objects potpuno
ista. Npr. dva stringa mogu da budu dva razlicita objecta ali da imaju
istu vrednost.

Zato treba da koristis .equals() methodu koja uporedjuje stringove da
vidi da li su isti.

jel jasnije sada?
 
Odgovor na temu

Black
Belgrade

Član broj: 4199
Poruke: 71
82.117.206.*



Profil

icon Re: problem sa dupliranjem stavki u combo boxu?06.06.2007. u 15:07 - pre 205 meseci
Ukoliko se radi o objektima, a ne o primitivnim tipovima (int, double, float..), dva objekta se porede po vrednosti samo pomocu equals metode.

Kada uradis if (a == b), a radi se o objektima, ti samo poredis da li dve reference (a i b) pokazuju na isti objekat, a ne da li je sadrzaj ta dva objekta identican.

Potrazi na netu detaljnije objasnjenje svakako, posto je ovo kljucna stvar za pravilno razumevanje nacina na koji objekti funkcionisu u Javi.
 
Odgovor na temu

dragan_bg_88
Dragan Slaveski
Beograd

Član broj: 68739
Poruke: 288
*.dynamic.sbb.co.yu.



Profil

icon Re: problem sa dupliranjem stavki u combo boxu?06.06.2007. u 21:24 - pre 205 meseci
OK, citao sam na netu i ukapirao sam u cemu je stvar. Samo mi nesto nije jasno. Ako mozes da mi pojasnis. Konkretno u ovom primeru radim neku proveru, ako u combo boxu pise "..." onda treba da izabci neku gresku. E sada to uporedjivanje sam stavio sa == a ne sa equals() i radi kako treba. Ali kada sam isto tako u combo boxu uporedjivao pretrazen rezultat iz baze i neki postojeci String onda nije radilo. Da li je to zato sto je ovo jedna od tih promenljivih bila dobijena iz baze? A ovo prvo radi konkretno ovako:

Code:
 if((String)Kombo.getSelectedItem()=="..."){...} 


a za ovo drugo koje ne radi vec pise kod gore. Da li mozes samo da mi pojasnis zasto ovo radi a ono nije htelo da bi u postpunosti razumeo ovaj problem...
 
Odgovor na temu

Toxter
NS

Član broj: 39393
Poruke: 317
*.ADSL.neobee.net.



+6 Profil

icon Re: problem sa dupliranjem stavki u combo boxu?06.06.2007. u 21:44 - pre 205 meseci
Vec si dobio odgovor.
Operator == koristis samo za uporedjivanje primitivnih tipova.
Za uporedjivanje stringova uvek, ali ponavljam UVEK treba da koristis equals() ili equalsIgnoreCase() metode.
Ako imalo znas principe java jezika znas da je String klasa tj. "nesto" je objekat klase String.
Objekte u javi ne mozes da poredis sa operatorom == (jer ne postoji preklapanje operatora u javi) vec
se redefinisu metode kao sto su compare() i equals().
Sad mu nije nista, ubio si ga k'o zeca...
 
Odgovor na temu

dragan_bg_88
Dragan Slaveski
Beograd

Član broj: 68739
Poruke: 288
*.dynamic.sbb.co.yu.



Profil

icon Re: problem sa dupliranjem stavki u combo boxu?08.06.2007. u 12:10 - pre 205 meseci
Razumem ja vas ljudi, razumem i principe Java jezika, samo mi nije jasno sledece. Dat je kod:

Code:
 
String a="blabla";
if(a=="blabla")a="aaaaa";


U ovom primeru ce ovo poredjenje biti tacno. Zasto? Zasto onda i String a i String "blabla" pokazuju na isti objekat? Razumem ja vas da mora meto da equlas(), ali da li mozete i ovo da mi pojasnite jer bih zeleo da znam zasto ovo poredjenje ima vredonst true? Hvala...
 
Odgovor na temu

Toxter
NS

Član broj: 39393
Poruke: 317
*.ADSL.neobee.net.



+6 Profil

icon Re: problem sa dupliranjem stavki u combo boxu?08.06.2007. u 13:43 - pre 205 meseci
Citat:
dragan_bg_88: Razumem ja vas ljudi, razumem i principe Java jezika...


Izgleda da bas i ne razumes.
Stringovi su immutable objekti. Sto prakticno znaci da su ne promenjivi i da moze da postoji jedan
unique string prilikom inicijalizacije.

Tako da mozes uradis:
Code:
String a = "asdf";
String b = "asdf";
if(a == b){
   System.out.println("Match!");
}


Znaci a i b su reference koje pokazuju na isti objekat.

Sad mu nije nista, ubio si ga k'o zeca...
 
Odgovor na temu

Black
Belgrade

Član broj: 4199
Poruke: 71
82.117.206.*



Profil

icon Re: problem sa dupliranjem stavki u combo boxu?08.06.2007. u 15:10 - pre 205 meseci
Samo da se nadovezem..
A ako uradis

Code:
String a = new String ("asdf");
String b = new String ("asdf");
if(a == b){
   System.out.println("Match!");
}


sistem nece nista ispisati, odnosno, if uslov ce biti false.

U prvom slucaju obe reference pokazuju na isti objekat, a u drugom imas dve referenece, koje pokazuju na dva razlicita objekta sa istim sadrzajem.
Upravo u tome i jeste razlika izmedju poredjenja referenci i equals metode.

 
Odgovor na temu

bgd2500

Član broj: 55912
Poruke: 226
*.finsoft.co.yu.



+7 Profil

icon Re: problem sa dupliranjem stavki u combo boxu?08.06.2007. u 16:04 - pre 205 meseci
E a ako uradis

Code:

String a = new String ("asdf");
String b = new String ("asdf");
if(a.intern() == b.intern()){
   System.out.println("Match!");
}

dobices .. ?
 
Odgovor na temu

dragan_bg_88
Dragan Slaveski
Beograd

Član broj: 68739
Poruke: 288
*.dynamic.sbb.co.yu.



Profil

icon Re: problem sa dupliranjem stavki u combo boxu?08.06.2007. u 17:16 - pre 205 meseci
E hvala vam na trudu da mi pojasnite ovo, ukapirao sam...
 
Odgovor na temu

[es] :: Java :: problem sa dupliranjem stavki u combo boxu?

[ Pregleda: 2487 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.