如何将整数转换为int?
我正在开发一个Web应用程序,其中数据将在客户端和服务器端之间传输。
我已经知道JavaScript int!= Java int。 因为,Java int不能为null,对。 现在这是我面临的问题。
我将我的Java intvariables改为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);
我不能在这里使用Integervariables。 我试着用intgerObject.intValue();
但它使事情更复杂。 我们有其他转换方法或转换技术吗?
任何修复会更好。
正如其他地方所写:
- 对于Java 1.5和更高版本,您不需要执行(几乎)任何操作,而是由编译器完成。
- 对于Java 1.4和之前的版本,使用
Integer.intValue()
将Integer转换为int。
但是,正如你写的,一个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
* 使用默认为零,也可能无能为力,显示警告或…
我大多不喜欢使用自动装箱(第二个样本行),所以很清楚我想要做什么。
既然你说你正在使用Java 5,你可以使用setInt
与一个Integer
由于autounboxing: pstmt.setInt(1, tempID)
应该工作得很好。 在早期的Java版本中,您将不得不自己调用.intValue()
。
相反的工作,以及…分配一个int
Integer
将自动导致int
使用Integer.valueOf(int)
自动绑定。
即使您正在使用Java 5 JDK,也许您将IDE的编译器设置设置为Java 1.4模式? 否则,我同意已经提到过自动装箱/拆箱的其他人。
Java将Integer转换为int并自动返回(除非您仍然使用Java 1.4)。
另一个简单的方法是:
Integer i = new Integer("10"); if (i != null) int ip = Integer.parseInt(i.toString());