如何在Java中将String转换为int

我的字符串只包含数字,我想返回它表示的数字.

例如,给定字符串"1234",结果应该是数字1234.

推荐答案

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

如果你看Java documentation,你会发现"catch"是这个函数可以抛出NumberFormatException,你可以处理:

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

(这种处理方法将错误的数字默认为0,但如果您愿意,也可以执行其他操作.)

或者,您可以使用Guava库中的Ints方法,该方法与Java 8的Optional相结合,提供了一种将字符串转换为int的强大而简洁的方法:

import com.google.common.primitives.Ints;

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

Java相关问答推荐

Java Swing绘制gif作为多个JSYS和JLabels的背景

在Java 8之后,HashMap的最坏情况下时间复杂度仍然是O(n)而不是O(log n)?

Android视图覆盖不阻止点击它后面的控件

查找最大子数组的和

RESTful框架类字段是安全的还是不安全的

为什么一个Test的instance?& gt;在构造函数中接受非空对象?

如何解释Java中for-each循环中对Iterable的强制转换方法引用?

对于亚洲/香港,使用ResolverStyle.STRICT的LocalDate.parse返回意外结果

我怎样才能让IntelliJ标记toString()的任何实现?

当构造函数创建一个新实例时,Java为什么需要&new";

如何处理两个几乎相同的XSD文件?

在应用程序运行时更改LookAndFeel

RestTemplate Bean提供OkHttp3ClientHttpRequestFactory不支持Spring Boot 3中的请求正文缓冲

如何在右击时 Select 新行?

当我将JTextField的getText函数与相等的String进行比较时;t返回true

按长度排序字符串数组

升级版本后出现非法访问错误

java21预览未命名的符号用于try-with-resources

URI构造函数错误?

如何使用Jackson读取以方括号开头的JSON?