Hej,
przykro mi ale musze to z siebie wyrzucić.
Wpadł mi jakiś pomysł dzisiaj i myślałem że skrobnę go na szybko w javie.
Chce przy tym tworzyć tablice dwuwymiarowe w klasie *Grid *dla dowolnego typu danych, więc myślę sobie że użyje klasy template jak to się robi w c++.
public class Grid<T> extends GridObject<T> {
private T[][] GridArray;
@SuppressWarnings("unchecked")
public Grid(short width, short height /*,GridType type*/){
GridArray = (T[][]) new Object[width][height];//dirty workaround ^_-
}
public GridType getGridType() {
T t;
return gridType( t ) ; //ERR~!
}
//np.
private GridType gridType( boolean jestemkobietą) {
return GridType.GRID_BOOLEAN;
}
}
Okazuje się, że java nie pozwala na definiowanie tablic typu generic(T), nie pozwala też przekazywać typu generic do metod przyjmujących zdefiniowany typ(gridType()). Obeszłem te problemy i okazuje się że nie mogę stworzyć szablonu który jako parametr przyjmie typ prymitywny jak int! Mogę użyć Integer i wyjdzie na to samo, ale byte już nie przejdzie....
new Grid<boolean>(width,height); //no because fuck you.
Czy pozostaje mi klepać na twardo implementacje dla każdego typu tablicy metodą kopiegopasta, lub klepać wrappery dla każdego bitu, inta i shorta???2
PS nie chce używać gotowych implementacji.