-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathItem.java
59 lines (51 loc) · 1.47 KB
/
Item.java
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
package treeSet;
import java.util.Objects;
/**
* An item with a description and a part number.
*/
public class Item implements Comparable<Item> {
private String description;
private int partNumber;
/**
* Construct an item.
*
* @param aDescription the item's description
* @param aPartNumber the item's part number
*/
public Item(String aDescription, int aPartNumber) {
description = aDescription;
partNumber = aPartNumber;
}
public String getDescription() {
return description;
}
/**
* Gets the description of this item.
*
* @return the description
*/
@Override
public String toString() {
return "Item[" +
"description='" + description +
", partNumber=" + partNumber +
']';
}
@Override
public boolean equals(Object otherObject) {
if (this == otherObject) return true;
if (otherObject == null || getClass() != otherObject.getClass()) return false;
Item other = (Item) otherObject;
return partNumber == other.partNumber &&
description.equals(other.description);
}
@Override
public int hashCode() {
return Objects.hash(description, partNumber);
}
@Override
public int compareTo(Item other) {
int diff = Integer.compare(partNumber, other.partNumber);
return diff != 0 ? diff : description.compareTo(other.description);
}
}