Perché la classe BigInteger di Java non ha un costruttore in grado di acquisire un valore letterale numerico? [chiuso]

8

Perché la classe BigInteger di Java non ha un costruttore in grado di acquisire un valore letterale numerico? Ogni volta che uso BigIntegers, e molte volte penso solo a loro, mi chiedo questo.

Quale motivo potrebbero aver dovuto escludere i designer di java, nonostante la travolgente convenienza di uno dovrebbe esistere?

    
posta Wug 29.10.2012 - 20:48
fonte

1 risposta

19

La risposta sta nel JavaDoc di BigInteger.valueOf(long) :

This "static factory method" is provided in preference to a (long) constructor because it allows for reuse of frequently used BigIntegers.

In altre parole: BigInteger.valueOf(long) fa esattamente ciò che tu chiedi all'ipotetico costruttore di BigInteger(long) di fare, tranne che è (o almeno può essere) leggermente più efficiente.

    
risposta data 29.10.2012 - 21:22
fonte

Leggi altre domande sui tag