2016-05-13 47 views
0

我想转换一个字符串,这意味着我的mysql数据库调用中的密钥ID是一个BigInteger以备后用。我的JAVA不是最好的,我似乎无法找到解决方案,将我的字符串变成BigInt而不会出现任何错误。有人可以帮忙吗?将字符串转换为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 
} 

我试图按照解决方案,并没有得到预期的结果。我今天感觉很蠢。请让我摆脱我的痛苦。下面是我的下一个尝试:

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

    } 

    BigInteger identifier = new BigInteger(wpu); 
    identifier 

当使用Maven安装JAVA项目时,会出现以下错误。

不能与类“java.lang.String中”投对象“124”来上课 “java.math.BigInteger的”

编辑解决方案是这样的,在重复的答案说明,但应用我的使用情况:

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

*将一个字符串转换为BigInteger *是没有意义的。您无法将字符串投射到BigInteger。你想从一个代表数字的字符串中创建一个BigInteger吗? – Tunaki

+0

你检查了API吗? [BigInteger](https://docs.oracle.com/javase/7/docs/api/java/math/BigInteger.html#BigInteger(java.lang.String))你得到了什么错误? –

+1

谢谢,是的,我的字符串实际上是一个数字。我希望从字符串类型转换回来。我也会检查API。谢谢。 – Beloudest

回答

2

你可以尝试使用BigInteger构造:

BigInteger(String val)

将BigInteger的十进制字符串表示形式转换为BigInteger形式的 。

+1

如果这是问题的答案,您可能需要关闭http://stackoverflow.com/questions/15717240/string-to-biginteger-java而不是回答。另见http://meta.stackexchange.com/questions/10841/how-should-duplicate-questions-be-handled – Tunaki