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

Java封装Integer.parseInt()的好方法

陆敏学
2023-03-14
问题内容

我有一个项目,我们经常在其中Integer.parseInt()将String转换为int。当出现问题时(例如,String不是数字,而是字母a,等等),此方法将引发异常。但是,如果我必须到处都处理代码中的异常,这很快就会变得非常难看。我想将其放在一个方法中,但是,我不知道如何返回一个干净的值以表明转换出错。

在C ++中,我可以创建一个方法,该方法接受一个指向int的指针,并让该方法本身返回true或false。但是,据我所知,这在Java中是不可能的。我还可以创建一个包含true / false变量和转换后的值的对象,但这似乎也不理想。全局值也一样,这可能会给我带来多线程问题。

那么有没有一种干净的方法可以做到这一点?


问题答案:

你可以返回Integer而不是,以在解析失败时int返回null。

遗憾的是,Java没有提供一种没有内部抛出异常的方法来执行此操作-你可以隐藏该异常(通过捕获该异常并返回null),但是如果你要解析数百个异常,它仍然可能是性能问题用户提供的数以千计的数据。

编辑:这种方法的代码

public static Integer tryParse(String text) {
  try {
    return Integer.parseInt(text);
  } catch (NumberFormatException e) {
    return null;
  }
}

请注意,如果不确定text为null ,我不确定该怎么办。你应该考虑-如果它代表一个错误(即你的代码很可能传递了一个无效值,但决不应该传递null),则抛出异常是适当的;如果它不表示错误,则可能应该html" target="_blank">返回null,就像返回其他任何无效值一样。

最初,这个答案使用了new Integer(String)构造函数。现在使用Integer.parseInt和拳击操作;这样,小的值最终将被装箱到缓存的Integer对象中,从而使其在这种情况下更加有效。



 类似资料:
  • 本文向大家介绍推荐一个封装好的getElementsByClassName方法,包括了推荐一个封装好的getElementsByClassName方法的使用技巧和注意事项,需要的朋友参考一下 我们知道,原生的JS给我们提供了getElementsByClassName方法,可以通过此方法获取到含有某指定class的节点集合,注意是集合,也就是此函数返回一个数组。 但是,IE却并不支持这个方法,但这

  • 本文向大家介绍java的jdbc简单封装方法,包括了java的jdbc简单封装方法的使用技巧和注意事项,需要的朋友参考一下 学习了jdbc一段时间后感觉自己写一个简单的封装来试试,于是参考的一些资料就写了一下不是多好,毕竟刚学也不太久 首先写配置文件:直接在src下建立一个db.properties文件然后写上内容 之后再写一个类代码如下 之后写主类代码如下 下面是两张图是建立db.propert

  • 我实现了一个名为mobile eCall的类。我从这个类中创建了几个对象,并用来自XML的值填充该对象的String变量,该XML具有针对特定人员的多个mobile eCall。我需要对这个人发出的所有呼叫进行分组和计数(例如,国内呼叫:11分钟;国际呼叫:15分钟;数据:20 MB) 因此,我在类中实现了几个公共方法来检查调用的类型,以返回true或false。在主类中,我调用了这些方法来检查它

  • 上一小节中,我们已经对类和对象有了一个基本的认识。不止于 Java,在各个面向对象语言的书籍资料中,都会提到面向对象的三大特征:封装、继承、多态。本小节我们就从封装开始,探讨面向对象的特征。本小节我们将学习什么是封装、为什么需要封装,最后也会以一个 NBA 球员类的案例来实现封装。 1. 概念和特点 类的基本作用就是封装代码。封装将类的一些特征和行为隐藏在类内部,不允许类外部直接访问。 封装可以被

  • 本文向大家介绍封装好的一个万能检测表单的方法,包括了封装好的一个万能检测表单的方法的使用技巧和注意事项,需要的朋友参考一下 检测表单中的不能为空(.notnull)的验证  作用:一对form标签下有多个(包括一个)表单需要提交时,使用js准确的判断当前按钮对那些元素做判断  用法:在form标签下 找到当前 表单的容器 给予class="form",当前表单的提交按钮给予 class="chec

  • 封装将类的某些信息隐藏在类内部,不允许外部程序直接访问,只能通过该类提供的方法来实现对隐藏信息的操作和访问。例如:一台计算机内部极其复杂,有主板、CPU、硬盘和内存, 而一般用户不需要了解它的内部细节,不需要知道主板的型号、CPU 主频、硬盘和内存的大小,于是计算机制造商将用机箱把计算机封装起来,对外提供了一些接口,如鼠标、键盘和显示器等,这样当用户使用计算机就非常方便。 封装的特点: 只能通过规