Προς το περιεχόμενο

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • 0
elis88

Sigrisi me Java

Ερώτηση

Γεια σας,

 

Λοιπόν, θέλω να συγρίνω δύο αντικείμενα ίδιου τύπου. Το αντικείμενο περιέχει Strings, int, Time και Date. Πως να τα συγκρίνω, με ==, με equals ή με κάποιο που θα λειτοθργεί ως key και θα είναι μοναδικό για κάθε αντικέίμενο αυτού του τύπου. Ποιος είανι ο ποιο σωστός τρόπος;

 

Σας ευχαριστώ προκαταβολικά.

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

2 απαντήσεις σε αυτή την ερώτηση

Προτεινόμενες αναρτήσεις

Καλύτερα να κάνεις override την equals() του Object, παρά να την ονομάσεις όπως θες και να της δώσεις ό,τι παραμέτρους θες ;)

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

Θα πρέπει να συγκρίνεις το κάθε πεδίο ξεχωριστά, δηλαδή το String του ενός αντικειμένου με το String του άλλου, int με int κτλ. Εάν όλα είναι ίδια τότε τα αντικείμενα σου έχουν το ίδιο περιεχόμενο (είναι ίδια)

 

πχ.

 

>

public class TestClass {

   private String text;
   private int number;

   public TestClass(String text, int number) {
       this.text = text;
       this.number = number;
   }

   public String getText() {
       return text;
   }

   public int getNumber() {
       return number;
   }

   public boolean equalsTo(TestClass ob) {
       if (this.text.equals(ob.getText()) && this.number == ob.getNumber()) {
           return true;
       }

       return false;
   }
}

class MainClass {
   public static void main(String[] args) {
       TestClass ob1 = new TestClass("an_object",5);
       TestClass ob2 = new TestClass("another_object",10);
       TestClass ob3 = new TestClass("an_object",5);
       
       if (ob1.equalsTo(ob2)) {
           System.out.println("ob1 is equal to ob2");
       } else {
           System.out.println("ob1 is _NOT_ equal to ob2");
       }
       
       if (ob1.equalsTo(ob3)) {
           System.out.println("ob1 is equal to ob3");
       } else {
           System.out.println("ob1 is _NOT_ equal to ob3");
       }
   }
   
}

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
×
×
  • Δημιουργία νέου...