[ 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) ...