Auto-Boxing auf BigInteger? Da würden mir mehrere Gründe einfallen.Andrey hat gesagt.:oh... mist, warum wird das nicht autogeboxt :roll:
nja, wie oft braucht man das schon => egal
public class Big {
private Big(){
}
public static BigInteger Int(int val){
//return new BigInteger(Integer.toString(val));
byte[] b = new byte[4];
for(int i = 0; i < b.length; ++i)
b[b.length - 1 - i] = (byte)(val >> i * 4);
return new BigInteger(b);
}
...
}
big = big.multiply(Big.Int(5));
big = big.multiply(BigInteger.valueOf(5));
big = big.multiply(Big.toInt(5));
Das ist meines Erachtens ebenfalls ungünstig. Wenn in der nächsten API-Version eine weitere Methode in BigInteger hinzukommen sollte, muss man die Klasse auch noch erweitern...SlaterB hat gesagt.:wenn schon, dann eine Hilfsmethode
big = Big.multiply(big, 5);
die netterweise gleich noch auf null prüft usw
:shock: Was wird denn wohl BigInteger.valueOf(int) machen? Oder meinst Du was anderes und ich versteh's nicht?Anonymous hat gesagt.:najo also bigintger in int umwandeln is klar aber kann ich das auch iwie umgekehrt sprich int zu nem biginteger?
public class BigInteger extends java.math.BigInteger
{
// sämtliche Klassen-Konstruktoren überlagern
// Ich verwende hier mal long, weil das alles andere abdeckt
public BigInteger multiply(long value)
{
return new BigInteger(multiply(valueOf(value)).toByteArray());
}
}
^^ Was soll denn das werden? Wieso nicht:Spacerat hat gesagt.:Code:return new BigInteger(multiply(valueOf(value)).toByteArray());
return multiply(valueOf(value));