如何在Java中将字符串转换为int?

2022-08-31 01:23:44

如何将 a 转换为 ?Stringint

"1234"  →  1234

答案 1
String myString = "1234";
int foo = Integer.parseInt(myString);

如果你看一下Java文档,你会发现“陷阱”是这个函数可以抛出一个,你可以处理:NumberFormatException

int foo;
try {
   foo = Integer.parseInt(myString);
}
catch (NumberFormatException e) {
   foo = 0;
}

(此处理将格式错误的数字默认为 ,但如果您愿意,可以执行其他操作。0

或者,您可以使用Guava库中的方法,该方法与Java 8结合使用,是将字符串转换为int的强大而简洁的方法:IntsOptional

import com.google.common.primitives.Ints;

int foo = Optional.ofNullable(myString)
 .map(Ints::tryParse)
 .orElse(0)

答案 2

例如,有两种方法:

Integer x = Integer.valueOf(str);
// or
int y = Integer.parseInt(str);

这些方法之间略有不同:

  • valueOf返回新的或缓存的实例java.lang.Integer
  • parseInt返回基元 。int

所有情况也是如此:/,/等。Short.valueOfparseShortLong.valueOfparseLong