string转int的方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了string转int的方法相关的知识,希望对你有一定的参考价值。
参考技术A ps:两者的不同之处:Integer.parseInt(s)返回值为Int型
Integer.valueOf(s)返回值为Integer,区别在于后者能够使用Integer的一些方法。
转换出现问题时,一般是报NumberFormatException:
1) 输入为空时
2) 输入为字母时,如abcd等,不为数字的情况时
3) 输入超出int上限时
针对情况1)可以做判断是否为空;
针对情况2)可以做正则表达式校验;
针对情况3)可以用try-catch;
可以通过try-catch作出相应的友好提示:
try
if(StringUtils.isEmpty(str))
System.out.println("不能为空");
attern pattern = Pattern.compile("[0-9]*");
Matcher isNum = pattern.matcher(str);
if( !isNum.matches() )
System.out.println("必须为数字");
Integer i = Integer.valueOf(str);
catch(NumberFormatException e)
System.out.println("超过上限");
对于情况3),可能有一种情况必须要转为int类型,比如时间转为时间戳,由13位的时间戳字符串转为int类型,可能有超过上限的情况,处理方法可以通过String转为Long,处理之后,再转为int。
JAVA中int转String类型有三种方法
- String.valueOf(i)
- Integer.toString(i)
- i+""
i+""也就是一个int型的常量。+上个空的字符串,这里牵涉到了string的一些基础知识,string类型的+int在java中他会去这样理解是string类型的字符串跟上个int类型的i代表的字符串(先把i转换为string),int+string型就是先将int型的i转为string然后跟上后面的string
原文:https://blog.csdn.net/rocling/article/details/82818505
以上是关于string转int的方法的主要内容,如果未能解决你的问题,请参考以下文章