gitweb on Svarog

projekti pod git sistemom za održavanje verzija -- projects under the git version control system
Opsti tipovi - bolji primer Par
[spa1-materijali.git] / kodovi / skup / OpstiTipoviPrimeri.java
1 public class OpstiTipoviPrimeri {
3 public static void main(String[] args) {
4 Par<String> pstr = new Par<String>("a", "b");
5 System.out.println(pstr);
6 Par<String> kop = pstr.kopija();
7 kop.zameni();
8 System.out.println(kop);
10 Par<Double> dd = new Par<>(2.0, 2.0);
11 System.out.println(
12 "u ovom paru su isti brojevi:" + dd.jednakiPrviIDrugi());
14 Par<Integer> pint = new Par<Integer>(2, 8);
15 System.out.println(pint);
17 Par<Integer> intovi = new Par<Integer>();
18 intovi.prviel = 2;
19 intovi.drugiel = 8;
21 System.out.println("jednaki su:" + pint.jednakSaParom(intovi));
22 }
23 }
25 class Par<T> {
26 // tip za polja je zadat parametrom uz ime klase
27 T prviel, drugiel;
29 public Par(T podatak1, T podatak2) {
30 this.prviel = podatak1;
31 this.drugiel = podatak2;
32 }
34 public Par() {
35 this.prviel = null;
36 this.drugiel = null;
37 }
39 public String toString() {
40 return "Par (" + prviel + ", " + drugiel + ")";
41 }
43 public boolean jednakiPrviIDrugi() {
44 if (prviel == null)
45 return drugiel == null;
46 else
47 return prviel.equals(drugiel);
48 }
50 public void zameni() {
51 T pom = prviel;
52 prviel = drugiel;
53 drugiel = prviel;
54 }
56 public Par<T> kopija() {
57 return new Par<T>(prviel, drugiel);
58 }
60 public boolean jednakSaParom(Par<T> par2) {
61 if (par2 == null)
62 return false;
63 // moramo proveravati da li su null elementi, pa ima vise mogucnosti
64 if ((prviel == null) != (par2.prviel == null))
65 return false;
66 if (prviel != null && !prviel.equals(par2.prviel))
67 return false;
68 if ((drugiel == null) != (par2.drugiel == null))
69 return false;
70 if (drugiel != null && !drugiel.equals(par2.drugiel))
71 return false;
73 // nismo nasli razliku
74 return true;
75 }
76 }
Svarog.pmf.uns.ac.rs/gitweb maintanance Doni Pracner