Hi Leute.
Der Titel trifft es vielleicht nicht ganz, was ich will.
Folgendes: ich möchte mir eine Klasse basteln, die Schablonenparameter enthält. Bei diesen Schablonen soll es sich um einen Grunddatentyp handeln, mit denen arithmetische Operationen (+,-,*,/) ausgeführt werden können. In der Klasse soll eine Methode add() definiert sein, die 2 Argumente der beiden Typen normal addiert. Also sowas wie:
Meine Frage: kann ich das irgendwie möglich machen? Der Knackpunkt ist wie leicht ersichtlich sein dürfte das a+b. Java weiß ja nicht, dass es sich z.B. um double und int handelt und man die schön miteinander addieren kann (vom Ergebnis-Cast jetzt mal abgesehen). Deshalb auch der komische Titel. Gibt es eine Art Interface oder abstrakte Klasse, welche angibt, dass zwei Typen miteinander durch +,-,*,/ verknüpft werden können? Erst dachte ich an Number, aber das enthält ja nur Methoden für explizite Umwandlungen...
Danke für eure Hilfe.
Gruß, Matthias
Der Titel trifft es vielleicht nicht ganz, was ich will.
Folgendes: ich möchte mir eine Klasse basteln, die Schablonenparameter enthält. Bei diesen Schablonen soll es sich um einen Grunddatentyp handeln, mit denen arithmetische Operationen (+,-,*,/) ausgeführt werden können. In der Klasse soll eine Methode add() definiert sein, die 2 Argumente der beiden Typen normal addiert. Also sowas wie:
Code:
class MyClass<N1,N2>{
public static N1 add(N1 a, N2 b){
return (N1)(a+b);
}
}
Meine Frage: kann ich das irgendwie möglich machen? Der Knackpunkt ist wie leicht ersichtlich sein dürfte das a+b. Java weiß ja nicht, dass es sich z.B. um double und int handelt und man die schön miteinander addieren kann (vom Ergebnis-Cast jetzt mal abgesehen). Deshalb auch der komische Titel. Gibt es eine Art Interface oder abstrakte Klasse, welche angibt, dass zwei Typen miteinander durch +,-,*,/ verknüpft werden können? Erst dachte ich an Number, aber das enthält ja nur Methoden für explizite Umwandlungen...
Danke für eure Hilfe.
Gruß, Matthias