如何将string
转换为Java中的int
?
我的字符串只包含数字,我想返回它所代表的数字。
例如,给定字符串“1234”
时,结果应该是数字1234
。
举个例子,这里有两种方式:
Integer x = Integer.valueOf(str);
// or
int y = Integer.parseInt(str);
这些方法之间有一点细微的区别:
valueof
返回java.lang.integer
parseint
返回基元int
。对于所有情况都是相同的:short.valueof
/parseShort
、long.valueof
/parselong
等。
String myString = "1234";
int foo = Integer.parseInt(myString);
如果您查看Java文档,您会注意到这个函数可以抛出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)
问题内容: 我有一个,我需要一个。如何从一个转换为另一个? 问题答案: 好问题。我有以下五种 6种方法可以做到这一点。 注意:返回。因此有效地两者是相同的。 调用,这又设置了数组。 另一方面,调用以下程序包私有构造函数。 从源代码中的Java 8的源代码 因此似乎是最有效的方法,在这两个存储器和速度方面,用于转换char到String。
有没有办法将Java转换为(而不是装箱的)? 在尝试此过程中: 我得到了不同的输出。无法显示第一个输出,因为它是gzip字符串。 第二个是地址。我做错什么了吗?我需要一个中的结果来将其馈送到gzip解压缩器,如下所示。
问题内容: 有什么方法可以将Java转换而不是盒装)? 在尝试这个: 我得到单独的输出。由于是gzip字符串,因此无法显示第一个输出。 第二个是地址。我做错了什么吗?我需要将结果byte[]送入gzip解压缩器,如下所示。 问题答案: 你的方法需要的对象是。 因此,对你提出的问题的基本技术回答是: 但是,你似乎在努力解决的问题是,它显示得不是很好。调用toString()只会为你提供默认名称,即类
问题内容: 我发现了有关从java字符串获取java.util.streams.IntStream的问题,但是由于我使用的是Java 8,所以我没有找到此方法。 更正:正如你们指出的那样,我正在使用Java7。现在该方法就在那里。但问题仍然适用: 如何从字符串中获取a ? 问题答案: 我会指出较早的关于这个主题的答案,但是事实证明您已经与这个问题联系了。在对方的回答也提供了有用的信息。 如果需要值
问题内容: 从字符串转换为字符串的最佳方法(最快的性能)是什么? 对于我们可以做,但它给出了一个错误: 我从那产生的from 方法而不是 这个解决方案最快吗? 编辑 我的坏东西,而不是..,所以我可以直接做。 问题答案: 事先注意: 询问者首先指出输入分片就是答案。后来他意识到输入是可以直接转换为的,因为它是别名(并且语言规范支持=> 转换)。 您无法转换不同类型的切片,必须手动进行。 问题是我们
问题内容: 我正在使用docopt来解析命令行参数。此方法有效,并生成地图,例如 现在,我想将and和值连接到一个字符串,两个值之间用冒号表示。基本上,诸如: 不幸的是,这不起作用,因为我收到了错误消息: 无效的操作:arguments [“”] +“:”(类型不匹配的接口{}和字符串) 因此,显然我需要将从映射中获得的值(就是,所以可以是任何东西)转换为字符串。现在我的问题是,我该怎么做? 问题