怎么把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