Java:设置 Integer = null 可以吗?

2024-03-16

我有一个函数,如果参数存在于数据库中,则返回一个 ID 号。如果不是,则返回 null。这是在乞求空指针异常吗?不允许使用负 ID 号,但我认为让不存在的参数返回 null 而不是像 -1 这样的错误代码会更清楚。你怎么认为?

private Integer tidOfTerm(String name) throws SQLException {
    String sql = "SELECT tid FROM term_data WHERE name = ?";
    PreparedStatement prep = conn.prepareStatement(sql);
    prep.setString(1, name);
    ResultSet result = prep.getResultSet();

    if (result.next()) {
        return result.getInt("tid");
    }

    return null; // TODO: is this begging for a null pointer exception?
}

这是完全合法的。如果您想避免 NPE,请抛出自定义异常。但不要返回负数。如果调用者不检查返回值,你总会遇到问题。但做false计算(因为结果例如乘以-1)肯定比未捕获的异常更难调试。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java:设置 Integer = null 可以吗? 的相关文章

  • 将 Spring Data 随机(嵌入式)Mongo 端口与 NoSQL JUnit @Rule 结合使用

    我目前正在尝试编写一个使用 Spring Data Mongo 存储库的集成测试类 我使用由提供的嵌入式 Mongo 实例de flapdoodle embed mongo依赖性 Spring Data 文档指定我们只需要将这个依赖项放入项
  • JPA:运行时如何指定类对应的表名?

    注意 我对 Java 非常熟悉 但对 Hibernate 或 JPA 还不太熟悉 还没有 我想编写一个通过 JPA 与 DB2 400 数据库通信的应用程序 现在我可以获取表中的所有条目并将它们列出到 System out 使用 MyEcl
  • 将图像作为 JPanel 的背景

    我是 Java 新手 目前正在创建一个带有图形的游戏 我有这个课程从JFrame 在这个班级里 我有很多JPanel需要图像作为背景 据我所知 为了能够在 JPanel 中绘制图像 我需要一个从 JPanel 扩展的单独的类以及该类的pai
  • Java中构造函数中的长参数列表[重复]

    这个问题在这里已经有答案了 可能的重复 重构具有太多 6 个以上 参数的方法的最佳方法是什么 https stackoverflow com questions 439574 whats the best way to refactor a
  • JavaFx ComboBox 绑定混乱

    我有一个 I18N 实现 它通过属性绑定 JavaFX UI 元素 例如 def translateLabel l Label key String args Any Unit l textProperty bind createStrin
  • 编写潜在并发问题的证明

    我正在阅读 Java 并发实践 并尝试编写一段代码来表明第 3 5 1 章中作为示例提供的类确实会引入问题 public class Holder public int n public Holder int n this n n publ
  • 由于保存之前/之后的 CSV 差异而导致错误解析(Java w/ Apache Commons CSV)

    我有一个 37 列的 CSV 文件 我正在使用 Apache Commons CSV 1 2 在 Java 中解析该文件 我的设置代码如下 initialize FileReader object FileReader fileReader
  • 构建 jar 后无法运行 exe

    我制作了一个简单的实用应用程序 其中我有一个要运行的exe文件 我通过使用它来运行 Runtime getRuntime exec this getClass getResource filename exe getPath 当我从 ide
  • 在 Java 构建过程中更改常量的最佳方法

    我继承了一个在 Tomcat 下运行的 Java 应用程序 servlet 由于历史原因 根据应用程序的部署位置 本质上是品牌问题 代码具有不同的 外观和感觉 选项 有几个常量控制这个品牌过程 它们具有不同的功能 不应压缩为单个常量 即 B
  • Android 在 ROOM 数据库中插入大量数据

    我有大约 10 个模型 每个模型都有超过 120K 行和 90 列的记录 其中包含双数组值 在 Room 中插入任何模型都需要超过 125 130 秒 任何人都可以建议我需要做什么才能使用一些批量插入技术来保存所有这些 120K 该技术大约
  • JAXB、Marshal 的问题 - 无法封送类型“java.lang.String”

    当我运行 marshal 操作时 出现以下错误 javax xml bind MarshalException with linked exception com sun istack internal SAXException2 unab
  • MySQL 中电话号码的最佳数据类型是什么?它的 Java 类型映射应该是什么?

    我正在将 MySQL 与 Spring JDBC 模板一起用于我的 Web 应用程序 我需要存储仅包含数字的电话号码 10 我对使用数据类型的数据类型有点困惑 MySQL 中最适合它的数据类型是什么 为此 Bean POJO 类中的 Jav
  • 运行Java程序时出错

    我正在尝试使用 netbeans 运行我的 java 程序 但收到此错误 有什么建议吗 Exception in thread AWT EventQueue 0 java lang NullPointerException at javax
  • 如何正确安装mysqlconnecter java?

    上网冲浪后 我意识到我应该在系统环境变量中设置类路径连接器 jar 文件的路径文件我这样做了 并在命令行中输入此命令我有这个 C Users User gt echo classpath D classpath mysql connecto
  • java.util.Objects 与Optional 哪个更可取?

    The java util Objects http download java net java jdk9 docs api java util Objects html类通过许多新方法进行了扩展 对象 requireNonNullEls
  • Spring Boot,使用 EhCache 进行缓存

    我需要在我的应用程序中缓存一些数据 我正在考虑使用 Ehcache 我有几个问题 Ehcache需要另外一台服务器吗 我需要其他客户端来使用 Ehcache 吗 Ehcache 如何与多个实例配合使用 是否有可能使用 Ehcache 创建类
  • 如何为我的数独游戏制作 GUI? (摇摆)

    到目前为止 我已经编写了生成随机 9x9 数独网格的代码 我是Java的初学者 所以我有一些关于如何做UI的问题 显示数字的最佳方式是什么 我尝试创建 81 个 JTextFields 这非常乏味 而且我确信有一种有效的方法可以做到这一点
  • 使用 Hibernate 作为 ORM 机制的 Web 应用程序中的 L1 和 L2 缓存有什么区别?

    我只想要一些有关使用 L1 缓存和 L2 缓存的标准用途的一般信息 我很好奇 因为我正在研究使用赤土陶器作为二级缓存的系统 并且我发现它也有一级缓存 L1 缓存是每个 Hibernate 会话都存在的缓存 并且该缓存不在线程之间共享 该缓存
  • 如何从 Java 类调用 Kotlin 类

    我需要将意图从 java 活动传递到 Kotlin 活动 Java活动ProfileActivity class Intent selectGameIntent new Intent ProfileActivity this kotlin
  • OkHttp javax.net.ssl.SSLPeerUnverifiedException:主机名domain.com未验证

    我几天来一直在努力让它发挥作用 我正在尝试通过以下方式连接到我的服务器https带有自签名证书 我认为现在没有任何页面或示例是我未读过的 我做了什么 按照本教程创建了 bks 密钥库 http blog crazybob org 2010

随机推荐

  • Node.js 生成的 csv 文件显示英镑符号 (£)

    我正在用这个json2scv https github com zemirco json2csv包解析我的数据 示例 json 数据在下面的代码中描述 我正在尝试使用以下代码在我的 Node js 应用程序中生成 CSV 文件 如果我在 E
  • jquery 对话框打开时窗口向上滚动

    我正在尝试使用 jquery 1 4 和 jquery ui 1 8rc3 custom js 打开模态 jquery 对话框 在所有浏览器中 对话框打开都没有问题 但在 IE 7 和 6 中 对话框打开后 窗口会自行滚动到底部 我尝试将窗
  • 如何将 Selenium 输出导出到 PHP?

    Firefox 的 Selenium IDE 似乎没有默认导出到 PHP 我需要 Selenium 才能将其输出转换为 PHP 以在 Drupal 中使用 如何安装PHP语言导出才能达到这个目标 现在它是 mozilla 中的一个附加组件
  • 显示 GDB 中当前的汇编指令

    我正在 GDB 中进行一些汇编级调试 有没有办法让 GDB 以与显示当前源代码行相同的方式显示当前的汇编指令 每个命令后的默认输出如下所示 0x0001433f 990 Foo bar p 这给了我当前指令的地址 但我必须继续参考disas
  • Bokeh HTML 模板格式化程序不起作用

    请看一下页面 https docs bokeh org en latest docs reference models widgets tables html bokeh models widgets tables HTMLTemplate
  • Express 路由器参数验证

    Express 4x api 文档声称您可以将正则表达式作为第二个参数传递给router param http expressjs com 4x api html router param为了验证参数 该方法现在可用于有效验证参数 以及 可
  • Unity如何在玩家移动时让我的枪停止射击?

    I am making a gun shooting script but I do not know how to disable shooting when the player is running Can someone help
  • fancyBox2:幻灯片按钮和图像边框

    是否可以只有幻灯片开 关按钮和位置 标题区域内的某个地方 我想要这个的原因是 因为按钮栏缩小了显示图像的大小 我只想有这个选项 打开或关闭幻灯片 导航通过正常的左右方向完成 单击图像 是否可以减少图像周围的边框 尤其是底部边框 我尝试了填充
  • 通过 TeamViewer 连接时全屏 WPF 应用程序崩溃

    我创建了一个运行相当稳定的 WPF 应用程序 但有一个问题我无法解决 当我通过 TeamViewer 版本 11 连接到正在运行 WPF 应用程序 全屏模式 的平板电脑时 应用程序崩溃 当我结束远程连接时也会发生同样的情况 我得到以下异常
  • Ubuntu 14.02 上的 Tkinter 将宽度报告为两个显示器的总和

    我在新的 Ubuntu 14 02 机器上有两个显示器 一台显示器为 1024X768 VGA 第二台显示器是 1920X1080 HDMI 无论我做什么 root winfo screenwidth 报告 2944 两个显示器的总和 如果
  • 如何使用 Spring Security 保护 Vaadin 流应用程序

    我正在尝试将 vaadin 10 与 spring security 集成 使用 vaadin 提供的 spring 项目库 但我对它们如何准确交互感到困惑 如果我转到受保护的网址 在本例中为 about 直接在浏览器中键入它 则会显示登录
  • 如何使用jquery仅从文本中获取数字

    我只想获取数字 123 而不是文本 确认 这是我的代码 p 123confirm p 我认为 RegExp 是个好主意 var sd this text replace 0 9 gi Replace everything that is n
  • 如何使用 python 的 beautiful soup 获取标签之间的内容及其以 HTML 结尾的内容?

    我有一个 HTML 行 如下所示 span class cd headline text Is this model too thin for Yves Saint Laurent span 我想提取标题 即 这个模型对于 Yves Sai
  • 传单地图上的 d3 圆圈

    我使用以下代码生成带有圆圈的地图 http jsbin com OTaKEDor 2 edit http jsbin com OTaKEDor 2 edit
  • 底层连接已关闭:(HttpWebRequest) - C#

    我正在编写一段代码来通过 POST 请求验证用户名和密码 但收到一条错误消息 提示 底层连接已关闭 我正在尝试将带有 GET 请求的旧代码转换为带有 POST 请求的新代码 我的 GET 代码工作正常 旧代码 string url http
  • sed 命令的子进程调用给出错误

    我有一个文本文件 其中包含以下行 PIXEL SCALE 1 0 size of pixel in arc 要将其中的 1 0 替换为 0 3 我尝试通过 python 脚本中的 subprocess call 使用 sed 遵循 sed
  • Maven - 从子 pom 访问父 pom 上的属性

    在多模块项目结构中 myApp moduleA pom xml moduleB pom xml pom xml 如果我在parent pom中有以下属性
  • 何时实现WebMvcConfigurer来配置Spring MVC?

    我正在学习带有 Java 配置 无 xml 的 Spring MVC 我有一个简单的问题 我看到有两种配置 Spring bean 的方法 方法一 Configuration EnableWebMvc ComponentScan baseP
  • 权限拒绝:打开提供程序 com.android.providers.contacts.ContactsProvider2

    我是 Android 新手 我使用 Android Studio 和 LoginActivity 模板从头开始创建了一个应用程序 我的目标是 SDK 23 最低版本是 15 Android Studio 生成了以下清单
  • Java:设置 Integer = null 可以吗?

    我有一个函数 如果参数存在于数据库中 则返回一个 ID 号 如果不是 则返回 null 这是在乞求空指针异常吗 不允许使用负 ID 号 但我认为让不存在的参数返回 null 而不是像 1 这样的错误代码会更清楚 你怎么认为 private