gpt4 book ai didi

java - 如何将整数转换为整数?

转载 作者:IT老高 更新时间:2023-10-28 13:50:57 27 4
gpt4 key购买 nike

我正在开发一个 Web 应用程序,其中数据将在客户端和服务器端之间传输。

我已经知道 JavaScript int != Java int。因为,Java int 不能为空,对。现在这是我面临的问题。

我将我的 Java int 变量更改为 Integer。

public void aouEmployee(Employee employee) throws SQLException, ClassNotFoundException
{
Integer tempID = employee.getId();
String tname = employee.getName();
Integer tage = employee.getAge();
String tdept = employee.getDept();
PreparedStatement pstmt;
Class.forName("com.mysql.jdbc.Driver");
String url ="jdbc:mysql://localhost:3306/general";
java.sql.Connection con = DriverManager.getConnection(url,"root", "1234");
System.out.println("URL: " + url);
System.out.println("Connection: " + con);
pstmt = (PreparedStatement) con.prepareStatement("REPLACE INTO PERSON SET ID=?, NAME=?, AGE=?, DEPT=?");
pstmt.setInt(1, tempID);
pstmt.setString(2, tname);
pstmt.setInt(3, tage);
pstmt.setString(4, tdept);
pstmt.executeUpdate();
}

我的问题在这里:

pstmt.setInt(1, tempID);

pstmt.setInt(3, tage);

我不能在这里使用整数变量。我试过 intgerObject.intValue();但它使事情变得更加复杂。我们还有其他转换方法或转换技术吗?

任何修复都会更好。

最佳答案

正如在别处已经写过的:

  • 对于 Java 1.5 及更高版本,您(几乎)不需要做任何事情,它由编译器完成。
  • 对于 Java 1.4 及之前版本,使用 Integer.intValue() 将 Integer 转换为 int。

但是正如您所写,Integer 可以为空,因此在尝试转换为 int 之前检查一下是明智的(否则可能会遇到 NullPointerException)。

pstmt.setInt(1, (tempID != null ? tempID : 0));  // Java 1.5 or later

pstmt.setInt(1, (tempID != null ? tempID.intValue() : 0));  // any version, no autoboxing  

* 使用默认值零,也可以什么都不做,显示警告或...

我大多不喜欢使用自动装箱(第二个示例行),所以很清楚我想要做什么。

关于java - 如何将整数转换为整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3571352/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com