怎么把Integer转换成int?

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

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

我将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);

我不能在这里使用Integer变量。我尝试过,intgerObject.intValue(); 但这会使事情变得更复杂。我们还有其他

任何修复都会更好。

回答:

如其他地方所写:

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

但是正如您所写,an

Integer可以为null,因此明智的做法是先进行检查,然后再尝试转换为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

  • 使用默认值零,也可能不执行任何操作,显示警告或…

我最喜欢不使用自动装箱(第二个示例行),因此很清楚我想做什么。

以上是 怎么把Integer转换成int? 的全部内容, 来源链接: utcz.com/qa/409374.html

回到顶部