2016-05-13 25 views
0

Ich versuche, eine Zeichenfolge, die ein BigInteger für Schlüssel-IDs in meinen MySQL-Datenbank-Aufrufe für später sein soll. Meine JAVA ist nicht die beste, ich kann keine Lösung finden, um meine Saite wieder in eine BigInt zu verwandeln, ohne irgendwelche Fehler zu bekommen. Kann mir bitte jemand helfen?Cast String in BigInteger

String getWPU(final HttpServletRequest request, final HttpServletResponse response) { 
    BigInteger identifier = null 
    def wpu = request.getParameter('slip') 
    if (wpu?.size() > 0) { 
     LOG.debug('using ID as user identifier: {}', wpu) 
     identifier = new BigInteger(wpu); 
    } 


    identifier 
} 

Ich versuche, Lösungen zu folgen und nicht das erwartete Ergebnis zu erhalten. Ich fühle mich heute ziemlich dumm. Bitte bring mich aus meinem Elend heraus. Hier ist mein nächster Versuch aus der Lektüre um:

def wpu = request.getParameter('slip') 
    if (wpu?.size() > 0) { 
     LOG.debug('using wordpress slip as user identifier: {}', wpu) 

    } 

    BigInteger identifier = new BigInteger(wpu); 
    identifier 

Welche der folgenden Fehler gibt, wenn das Java-Projekt mit Maven installieren.

Kann nicht werfen Objekt '124' mit Klasse 'java.lang.String' Klasse

EDIT 'java.math.BigInteger' Die Lösung wurde diese, wie in doppelten Antworten angegeben, aber angewandt zu meinen Anwendungsfall:

def wpu = request.getParameter('slip') 
    if (wpu?.size() > 0) { 
     LOG.debug('using wordpress slip as user identifier: {}', wpu) 

    } 
    BigInteger identifier = new BigInteger(0); 
    identifier.add(new BigInteger(wpu)); 
    identifier 
+2

* eine Zeichenkette, die ein BigInteger sein soll *, macht keinen Sinn. Sie können einen String nicht in einen BigInteger umwandeln. Möchten Sie einen BigInteger aus einem String machen, der eine Zahl darstellt? – Tunaki

+0

Haben Sie die API überprüft? [BigInteger] (https://docs.oracle.com/javase/7/docs/api/java/math/BigInteger.html#BigInteger (java.lang.String)) Welche Fehler bekommen Sie? –

+1

Danke, ja, mein String ist eigentlich eine Nummer. Ich möchte von einem String-Typ zurück konvertieren. Ich überprüfe auch die API. Vielen Dank. – Beloudest

Antwort

2

Sie können versuchen, den BigInteger Konstruktor zu verwenden:

BigInteger (String val)

Übersetzt die dezimale String-Darstellung eines BigInteger in einen BigInteger.

+1

Wenn dies die Antwort auf die Frage ist, möchten Sie möglicherweise als Duplikat von http://stackoverflow.com/questions/15717240/string-to-biginteger-java schließen, anstatt zu antworten. Siehe auch http://meta.stackexchange.com/questions/10841/how-should-duplicate-questions-be- behandelt – Tunaki