1
Vývoj / Re: Java - generická třída
« kdy: 15. 06. 2011, 23:30:14 »
Zatim ten vektor mám jenom na souřadnice v 2D hrách, tam by float měl stačit.
Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.
GRUB_GFXMODE=1024x768x32
GRUB_GFXPAYLOAD_LINUX=keep
a pak zavolat update-grub....
public Vector2D<T> add(Vector2D<T> v) {
T x = add(this.x, v.getX());
T y = add(this.y, v.getY());
return new Vector2D<T>(x, y);
}
public T getX() {
return x;
}
public T getY() {
return y;
}
private T add(T t1, T t2) {
Number n1 = (Number) t1;
Number n2 = (Number) t2;
if (t1 instanceof Integer) {
return (T) (Number) (n1.intValue() + n2.intValue());
} else if (t1 instanceof Float) {
return (T) (Number) (n1.floatValue() + n2.floatValue());
} else if (t1 instanceof Double) {
return (T) (Number) (n1.doubleValue() + n2.doubleValue());
} else {
return null;
}
}
...
public class Vector2D<T extends Number> {
public T x, y;
public Vector2D() {
this.x = (T) (Number) 0;
this.y = (T) (Number) 0;
}
public String getType() {
if (x instanceof Float) {
return "Float";
} else if (x instanceof Integer) {
return "Integer";
} else {
return null;
}
}
}
Vector2D<Float> vector;
vector = new Vector2D<Float>();
System.out.println(vector.getType());