问题描述
我正在开发一个 Web 应用程序,在该应用程序中,数据将在客户端和客户端之间传输.服务器端.
I am working on a web application in which data will be transfer between client & server side.
我已经知道 JavaScript int != Java int.因为,Java int 不能为空,对.现在这是我面临的问题.
I already know that JavaScript int != Java int. Because, Java int cannot be null, right. Now this is the problem I am facing.
我将我的 Java int 变量更改为 Integer.
I changed my Java int variables into 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();
但它使事情变得更加复杂.我们还有其他转换方法或转换技术吗?
I cant use the Integer variables here. I tried with intgerObject.intValue();
But it makes things more complex. Do we have any other conversion methods or conversion techniques?
任何修复都会更好.
推荐答案
正如已经在别处写的:
- 对于 Java 1.5 及更高版本,您(几乎)不需要做任何事情,它由编译器完成.
- 对于 Java 1.4 及之前版本,使用
Integer.intValue()
将 Integer 转换为 int.
- For Java 1.5 and later you don't need to do (almost) anything, it's done by the compiler.
- For Java 1.4 and before, use
Integer.intValue()
to convert from Integer to int.
但是正如您所写,Integer
可以为空,因此在尝试转换为 int
之前检查一下是明智的(否则可能会遇到 NullPointerException代码>).
BUT as you wrote, an Integer
can be null, so it's wise to check that before trying to convert to int
(or risk getting a 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
* 使用默认值零,也可以什么都不做,显示警告或...
我大多不喜欢使用自动装箱(第二个示例行),所以很清楚我想要做什么.
I mostly prefer not using autoboxing (second sample line) so it's clear what I want to do.
这篇关于如何将整数转换为整数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!