[ gilespy @ 11.01.2006. 21:47 ] @
| Imam vise pitanja, pa sam postove podelio prema njima.
Interesuje me kako se primenjuju operatori poredjenja kada zelim porediti
objekat i prost tip, npr. Object ob sa int x=-1
Ako probam ob < x ili ob < -1 dobijem gresku.
Hvala
P.S. Koristiom NetBeans, pa ako neko zna, molim da mi kaze kako da izvrsim
samo deo koda iz trenutno aktivnog prozira? |
[ gilespy @ 11.01.2006. 21:52 ] @
Ako att ne radi evo ga kod:
package Liste;
import java.util.*;
class Adresa{
private String ime, ulica, grad, drzava, postanskiBroj;
Adresa(String i, String u, String g, String d, String pb){
ime = i;
ulica = u;
grad = g;
drzava = d;
postanskiBroj = pb;
}
public String toString(){
return ime + "n" + ulica + "n" + grad + "n" + drzava + "n" +
postanskiBroj;
}
}
public class SmestanjeKlaseUKolekcije {
public static void main(String[] args) {
LinkedList lista = new LinkedList();
lista.add(new Adresa("Jovan Jovanovic", "Negde", "Neki",
"Nedodjija", "1235"));
lista.add(new Adresa("Perica", "Ulica", "Mars", "Tunguzija",
"1895"));
lista.add(new Adresa("Marica", "Zmajgrad", "Atl", "Atlantida",
"8975"));
Iterator itr = lista.iterator();
while(itr.hasNext()){
Object element = itr.next();
System.out.println(element + "n");
}
}
}
[ _owl_ @ 12.01.2006. 00:37 ] @
Java je strogo tipiziran jezik, ne mozes porediti babe i zabe.
[ gilespy @ 12.01.2006. 01:22 ] @
Ali postoji equals() metoda.
Postoji li nesto sto radi kao operator <?
[ tiranin @ 12.01.2006. 08:15 ] @
Da li je Marica iz Atlantide manja od Jovana Jovanovica iz Nedodjije ? (Tvoj primer)
Moras sam da napravis metode
Code:
boolean manji(Adresa a) {...}
// i /ili
boolean veci(Adresa a){...}
vec prema tvojoj logici.
Citat:
gilespy: Ali postoji equals() metoda.
I za to pogledaj u literaturi sta radi, tj. kako se ponasa equals(Object o).
Najverovatnije moras da napravis svoju equals(Object o) metodu da bi dobio ono sto ti verovatno treba.
[Ovu poruku je menjao tiranin dana 12.01.2006. u 09:16 GMT+1]
[ Java Beograd @ 12.01.2006. 14:16 ] @
Mozda je pravo pitanje sta ocekujes kao odgovor kad hoces uporedis objekat sa prostim tipom. I kako da uporedjujes ta dva ?!
Ne bih da budem maliciozan ali zamisli objekat "Visoka pec". Neka Visoka pec ima atribute:
Cena u dolarima
Cena u dinarima
Godina proizvodnje
Ime proizviodjaca
Visina
Temperatura
Zapremina
Broj ljudi koji je opsluzuje
Casovi rada
Adresa firme koja je koristi
I sad, da mi to uporedimo sa integerom 416 ?!
[ gilespy @ 12.01.2006. 18:05 ] @
OK. Konkretno, radio sam sa listama i kolekcijama i hteo sam da uradim
if (lista.hasNext() < 0)
[ Au197/79 @ 12.01.2006. 19:12 ] @
lista.hasNext() samo vraća true ili false. Tebi treba lista.next() da bi dobio referencu na objekat u listi. Onda tu referencu moraš konvertovati u referencu na odgovarajući tip.
Ali opet ne možeš porediti različite tipove, a posebno prosti tip sa referencom. Vereovatno trebaš uporediti vrednost atributa objekta sa tim prostim tipom, a to možeš metodom koja prihvata taj prosti tip, zatim možeš napraviti metodu koja će čitati taj atribut pa njegovu vrednost porediti sa prostim tipom:
Npr.
Code:
if (((Osoba) lista.next()).starijaOd(99)) ...
ili
Code:
if (((Osoba) lista.next()).dajStarost() > 99) ...
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.