Awt的Dimension class可以做很多事情,在不同的數字類型之間進行轉換等等。我使用這些類來表示在每個ms需要更新的大2d世界上的單元格。如果我堅持使用Dimension類而不是使用自定義的Pair類,我可以獲得性能優勢嗎?這是我的自定義Pair類:我還沒有看到尺寸的任何地方提到,不知道Awt Dimension class vs自定義Pair類的性能
public class Pair<A, B> {
private A first;
private B second;
public Pair(A first, B second) {
super();
this.first = first;
this.second = second;
}
public static <A, B> Pair <A, B> createPair(A first, B second) {
return new Pair<A, B>(first, second);
}
@Override
public int hashCode() {
int hashFirst = first != null ? first.hashCode() : 0;
int hashSecond = second != null ? second.hashCode() : 0;
return (hashFirst + hashSecond) * hashSecond + hashFirst;
}
@Override
public boolean equals(Object other) {
if (other instanceof Pair) {
Pair otherPair = (Pair) other;
return
(( this.first == otherPair.first ||
(this.first != null && otherPair.first != null &&
this.first.equals(otherPair.first))) &&
( this.second == otherPair.second ||
(this.second != null && otherPair.second != null &&
this.second.equals(otherPair.second))));
}
return false;
}
@Override
public String toString()
{
return "(" + first + ", " + second + ")";
}
public A getX() {
return first;
}
public B getY() {
return second;
}
}
當我一直在尋找對實現爲什麼..
單元格的表示形式是一個二維數組,我只需要使用整數,維度贏呢? – 2014-09-03 11:48:42
雖然我看到我的無知,但是如果我只想用整數來定義Pair泛型,我該如何定義Pair泛型?我現在意識到我不應該有,如果我把它具體到整數,性能方面,它將與Dimension相同,對吧? – 2014-09-03 11:58:17
@RyanMarv從性能的角度來看,應該沒有什麼區別。如果你需要整數位置,只考慮使用'java.awt.Point'或者使用比「Pair」更富有表現力的名字:) – Thomas 2014-09-03 12:34:53