当前位置: 首页 > 面试题库 >

Android上的Integer.parseInt和NumberFormatException

尉迟禄
2023-03-14
问题内容

我在Android应用中运行了以下代码

Integer.parseInt("+91");

在Android 5.0(Lollipop)中,它
没有
引发任何+91整数异常。但是在Android
4.4.x
(KitKat)和更低版本中,它抛出:

NumberFormatException:无效的Int:“ +91”

Android版本如何造成这种差异?


问题答案:

+在此提交中添加了对显式的支持:

Support explicit + in Byte, Short, Integer, Long.

Bug: 5239391
Change-Id: I2b25228815d70d570d537db0ed9b5b759f25b5a3

从开始包含在内android-5.0.0_r1。如果您已获取Git存储库,则可以使用以下命令进行验证:

git tag --contains 6b40837ee3a023bba698c38fd6d6e46ae0065a55

这给你

android-5.0.0_r1
android-5.0.0_r2
android-5.0.0_r3
...

尽管文档可以给见解 ,为什么 进行了更改(实现Java 7的行为,其他的答案指出),分析源代码的历史给出最准确的答案 时,
行为改变,因为文件不一定与实现。



 类似资料:
  • 嘿,我正在用JMeter为web应用程序编写一些beanshell脚本。我已经编写了很多嵌入beanshell的jmeter脚本,由于某种原因,这个脚本总是给我带来integer.parseint()方法调用的错误。 错误如下: 下面列出了我所有的integer.parseint()调用,它们在我看来都是非常合法的,如果有人是beanshell专家,可以帮助我识别错误,那就太棒了,谢谢! 而且..

  • 问题内容: 我的教授倾向于执行以下操作来从用户那里获得一个号码: 与简单地做相比有什么好处? 包含以下内容: 正如我所看到的,除了其他的轨迹外,还调用Integer.parseInt()本身。简单地做会带来显着的性能提升吗?另一方面是否有任何弊端? 扫描包含大量数据而不是用户输入的文件时怎么样? 问题答案: 有2个观察结果: 在新行字符后面使用叶子。因此,如果在之后调用,则会读取换行符,而不是实际

  • 我现在正式对这两个显式元素之间的区别感到困惑 我以为只使用Google Play就会过滤掉不属于支持屏幕列表的设备。在这些设备上的搜索结果中不会显示该应用程序。 谁能给我解释一下自然语言的区别。不幸的是,我没有发现谷歌的文档那么清晰 干杯

  • 问题内容: 我有一个项目,我们经常在其中将String转换为int。当出现问题时(例如,不是数字,而是字母,等等),此方法将引发异常。但是,如果我必须到处都处理代码中的异常,这很快就会变得非常难看。我想将其放在一个方法中,但是,我不知道如何返回一个干净的值以表明转换出错。 在C ++中,我可以创建一个方法,该方法接受一个指向int的指针,并让该方法本身返回true或false。但是,据我所知,这在

  • 我在kivy上做了一个简单的OSC测试,看起来我在Android手机上运行它们时遇到了问题。为了更好地理解Kivy和OSC是如何工作的,我做了一个小测试,应该可以显示应用程序和另一台计算机之间的通信。特别是服务器 当我在我的电脑上测试它时,它以两种方式工作,所以从另一个终端,我可以发送一条消息,Kivy应用程序会做出反应: 发送此信息会让Kivy更改按钮上的标签。此外,在另一个终端上设置监听端口(

  • 问题内容: 我已经在其中一个视频教程中看到了下面的代码。它可以很好地执行,但是当我尝试在系统中执行时,它可以很好地编译,但是我遇到了运行时错误, 有人可以指导我这段代码有什么问题以及如何纠正吗? 提前致谢! 问题答案: __当您尝试访问数组中不存在的索引处的元素时,将发生 ArrayIndexOutOfBoundsException 。 例如:假设int a [] = {2,4,5,10,3}是一