BigInteger mit Operatormethoden

Jellysheep

Erfahrenes Mitglied
Hi,
ich arbeite in letzter Zeit mit BigInteger um Fibonacci-Zahlen zu berechnen und finde die Arbeitsweise sehr kompliziert...
Kann man denn überhaupt keine Operatormethoden programmieren / überlagern?

Wenn nicht, kann man denn mit JNI eine Klasse wie BigInteger mit Operatormethoden verwenden?
 
Die Sprache Java kann das nicht. Das ist so. James Gosling hat es damals nicht aufgenommen:

James Gosling (1) hat gesagt.:
There are some things that I kind of feel torn about, like operator overloading. I left out operator overloading as a fairly personal choice because I had seen too many people abuse it in C++.

Was soll denn JNI damit zu tun haben? Ach so, Du willst native methods in C++ programmieren, und da dann mit Operator Overloading auf BigInteger arbeiten?
Verrückte Idee, ich kann mir grad nicht vorstellen, dass das funktioniert. Das wird höchstens noch ein Stück haarsträubender... Naja, Du könntest ja den *-operator global definieren ... hmm, na dann viel Spaß. :D

Du könntest aber auch einfach eine Sprache verwenden, die JVM Bytecode erzeugt, und Operator Overloading unterstützt. Spontan fällt mir da Scala ein, Groovy kanns auch [2], und wahrscheinlich noch ganz viele andere Sprachen.

Ansonsten halt einen Präprozessor wie JFront [3], der aus "Java"+OO reinen Java-Code erzeugt.

(1) http://www.gotw.ca/publications/c_family_interview.htm
[2] http://groovy.codehaus.org/Operator+Overloading
[3] http://www.gginc.biz/jfront/index.html
 
Es ist richtig wie kabel2 gesagt hat, in Java kann man keine Operatoren überladen. (Strings sind hierbei ein Sonderfall)

Du kannst dir aber deine eigene BigInteger Klasse erstellen und hier richtige Methoden hinzufügen, wenn du die Funktionalität erweitern willst.
 
Zurück