ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 12. lang1 - (6) User Clonealbe Demo (해시코드 재정의)
    java/코드 리뷰 2020. 4. 23. 19:36
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    package lang1;
     
    public class User implements Cloneable {
        
        private int no;
        private String name;
        private String tel;
        
        public User() {
            
        }
        
        public User(int no, String name, String tel) {
            this.no = no;
            this.name = name;
            this.tel = tel;
        }
        
        public int getNo() {
            return no;
        }
     
        public void setNo(int no) {
            this.no = no;
        }
     
        public String getName() {
            return name;
        }
     
        public void setName(String name) {
            this.name = name;
        }
     
        public String getTel() {
            return tel;
        }
     
        public void setTel(String tel) {
            this.tel = tel;
        }
     
    //    @Override
    //    public int hashCode() {
    //        final int prime = 31;
    //        int result = 1;
    //        result = prime * result + ((name == null) ? 0 : name.hashCode());
    //        result = prime * result + no;
    //        result = prime * result + ((tel == null) ? 0 : tel.hashCode());
    //        result = prime * result + ((user1 == null) ? 0 : user1.hashCode());
    //        result = prime * result + ((user2 == null) ? 0 : user2.hashCode());
    //        return result;
    //    }
    //
    //    @Override
    //    public boolean equals(Object obj) {
    //        if (this == obj)
    //            return true;
    //        if (obj == null)
    //            return false;
    //        if (getClass() != obj.getClass())
    //            return false;
    //        User other = (User) obj;
    //        if (name == null) {
    //            if (other.name != null)
    //                return false;
    //        } else if (!name.equals(other.name))
    //            return false;
    //        if (no != other.no)
    //            return false;
    //        if (tel == null) {
    //            if (other.tel != null)
    //                return false;
    //        } else if (!tel.equals(other.tel))
    //            return false;
    //        if (user1 == null) {
    //            if (other.user1 != null)
    //                return false;
    //        } else if (!user1.equals(other.user1))
    //            return false;
    //        if (user2 == null) {
    //            if (other.user2 != null)
    //                return false;
    //        } else if (!user2.equals(other.user2))
    //            return false;
    //        return true;
    //    }
        
        // 해시코드 재정의 - 사용자번호가 해시코드값이 되도록 작성
        @Override
        public int hashCode() {
            return no;
        }
        
        @Override
        public boolean equals(Object obj) {
            if (obj == null) {
                return false;
            }
            
            if (this == obj) {
                return true;
            }
            
            if (obj instanceof User) {
                User other = (User) obj;
                
                if(this.no == other.no) {
                    return true;
                }
                
            }
            
            return false;
        }
     
        @Override
        public String toString() {
            return "User [no=" + no + ", name=" + name + ", tel=" + tel + "]";
        }
        
        public User copy() throws CloneNotSupportedException {
            User copiedUser = (User) clone();
            return copiedUser;
        }
        
    }
     
     
Designed by Tistory.