Vielleicht bin ich wirklich verwirrt, weil es eine sehr einfache Frage scheint, aber Google und die offizielle Dokumentation waren nicht genug.
Ich möchte einen BigInteger kopieren und finde keinen sauberen Weg. BigInteger a = b
wenn b
ein BigInteger ist, da BigInteger ein Objekt ist und hier kein Operator überladen wird, verweist a
auf das gleiche Objekt wie b
Der sauberste Weg, den ich bisher gefunden habe, ist BigInteger a = b.add(BigInteger.ZERO)
, aber immer noch ein schmutziger Weg für mich.
BigInteger
ist unveränderlich - es sollte niemals nötig sein, ein BigInteger
zu kopieren.
Sie können verwenden BigInteger(String val)
Obwohl dies möglich ist, sind BigInteger
Objekte unveränderlich und ich kann mir nicht vorstellen, dass Sie kopieren müssen.
Erstens sollten Sie nicht unbedingt BigInteger
kopieren müssen, da es eine unveränderliche Klasse ist. (Das Kopieren eines BigInteger
ist ungefähr so nützlich wie das Kopieren eines String
...)
Aber wenn Sie eins kopieren müssen, dann wäre ein effizienterer Weg das zu tun:
%Vor%Dies vermeidet die (relativ) teure Binär - & gt; Dezimal - & gt; binäre Konvertierungen und die Erstellung einer Zwischenzeichenfolge.
Und BigInteger.clone()
sollte noch effizienter sein ...
Wie wäre es mit:
%Vor%Aber wie gesagt, es ist unveränderlich, also sollte es keine Notwendigkeit geben.
Tags und Links java biginteger